Proposal: Pluggable DNS service discovery

In #767 it was suggested that the DNS service discovery should be pluggable. This issue is to discuss the requirements and interface for such a plugin. Most of these ideas are modeled after the NetworkDriver API.
DNS plugins should be implemented using the docker plugin API, responding to Plugin.Activate with { "Implements": ["DNSDriver"] }. When any container is started with --dns-driver=drivername docker should POST to /DNSDriver.Publish with details about the container, including at least the container Name, HostName, NetworkMode, and the NetworkID, IPAddress and GlobalIPv6Address for each network attached to the container. It should also contain the list of dns servers passed to the container via the --dns option as well as an arbitrary list of options which can be passed to the DNS plugin by the user using the --dns-opt= flag. The plugin should respond to this request with an array of options to be added to the containers resolv.conf.
The --dns-driver option should expose the 2 default drivers that are built in to docker, as well as a meta driver default. The builtin none driver uses the current behavior of the docker0 network, where the contents of --dns, or of the hosts resolv.conf are propagated into the container, and docker does nothing with dns traffic or service discovery. The builtin docker driver uses the current default behavior of custom networks, using the built in docker DNS service which configures the container's resolv.conf with <IP_ADDRESS> and adding iptables rules to NAT that traffic to a high port on the host where the service is listening. The meta-driver, default, which is the default if this option is unspecified, will use the none driver on the docker0 network and the docker driver on any other networks. The behavior of the default driver may change with future docker versions.

@clinta thanks for the proposal.
one general question. With the existing support for --dns, the DNS lookup can be expanded beyond the embedded DNS server. Is there a specific functionality that you see that is fundamentally different (and will always be different) that calls for a need for a pluggable driver which in turn will provide a dns server IP back tot he container. And who and how will that DNS server be managed ? and with the current network isolation mechanisms in place, how will it work ?
Can you please add more details on the big picture on how it is intended to be used and how can it guarantee plugin portability without impacting the apps.

I'm supposing that if a plugin could not pass a dns server back to the container, then the container would always get <IP_ADDRESS> as it's dns server, and then the docker daemon would pass those dns requests elsewhere. This approach doesn't work for me for a couple of reasons.

It depends on docker manipulating iptables. I run docker with --iptables=false and strictly manage the firewalls on my hosts, regularly restoring them from a template managed by my configuration management infrastructure.

It is another IPv4 dependancy introduced into docker, while I'm trying to work toward an IPv6 only datacenter.

Some dns functionality is dependant on being able to identify the requesting IP. DNS logging is used as an early indicator of a security breach. If every request comes from the docker host's IP it is not clear if one container is compromised or if the entire host is. Obviously this is moot for users who do not run with --ip-masq=false, but it is important to me. I also run multiple user defined networks with different IP ranges. I can use these ranges and bind views to serve different results to different networks. This also isn't possible if the request is being proxied by the host.

All of these conserns solved by allowing the plugin to specify what options are placed in the containers resolv.conf and allowing the plugin to manipulate the firewall if that is required depending on where the plugin is listening.
How the dns server will be managed is all up the user. It is also up to the user to be sure that their particular dns plugin is compatible with the network mode they're using. If they are running on an isolated network, then they need to use a plugin which returns a localhost address and manipulates IPTables. I am not proposing changing any default behavior, so if the user uses the default options all will work fine. But just as docker allows users to run without ip masquerading with the understanding that these users need to know how to configure routing on their own, users should be allowed to customize their dns with the understanding that it is possible to create configurations that are incompatible.
I also think preserving the none driver functionality is useful. If someone doesn't need registration and simply wants to pass chosen dns servers into the container, having to run a plugin just to parse and send back options that already exist in docker seems unnecessary.
As for a big picture, here's roughly what my docker network looks like.
I have 8 hosts which run various containers. These containers exist on various user defined networks using my vxlan plugin. These docker hosts run with --iptables=false and --ip-masq=false. The vxlan networks that run on the host exist on our core datacenter router and are routable to the rest of our datacenter without any NAT. They only NAT in our network is at our edge router to the internet.
We rely heavily on functioning DNS including views and logging and for these reasons run our own internal BIND resolvers.
I would like to have dns entries for containers automatically added to our BIND servers, so the dns plugin I have in mind to write is one that sends RFC 2136 DNS updates to our BIND server when containers are started. This would be a great improvement over sending the updates from the container itself because I can use secure updates without ever giving the container access to the keys.

It might be useful to include some kind of hostname map specification to control how the DNS updates are generated. For example:
==publish nginx containers to .public zone==
image-match: "nginx"
zone: ".public"
==publish DB containers to .internal zone using container name===
image-match: "db" | "mysql"
zone: ".internal"
record: "${NAME}"

Referencing https://github.com/docker/docker/issues/19474#issuecomment-209357935 where I discuss some possibilities for a pluggable DNS.

@clinta It has been detected that this issue has not received any activity in over 6 months. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?

Thank you!
This issue will be automatically closed in 1 week unless it is commented on.
For more information please refer to https://github.com/docker/libnetwork/issues/1926


Adding missing functions

List of functions added times, adjust, uniq, zip_with, zip_obj, xprod, without, update, identity, drop_last, empty, join

Hello @Rafi993, nice to meet you! Thanks for taking interest in Pyramda and writing this pull request.
Fair warning: I don't have bandwidth to work on Pyramda at the moment and that's unlikely to change anytime soon. If you're interested in contributing more I'm happy to help with that, but I won't be working on features myself or devoting a lot of time to maintenance tasks. As for the PR, I have a few comments:

The Travis CI failure seems to be from code style warnings, please fix those.
Unit tests are missing. Existing code files in pyramda each have a corresponding _test.py file, and tests are written in plain functions instead of in classes and methods.
I'd like the README to be updated with type signatures of the new functions.

Coverage increased (+0.2%) to 95.37% when pulling 8c60bf870b26805f8966fdb7768f71dcdb3d35d4 on Rafi993:master into 85ab1c2f456085c9e31e3831459ee1a850ab559c on jackfirth:master.

Since this repo seems to be unmaintained I am closing this pull request and host the future changes in the fork. Thanks for the awesome idea you have built

I'm happy to work with you to merge these changes @Rafi993. Are you intending to push more commits to this PR?

Yes @jackfirth I do intend to push more commits to the repo so that most of the missing function is covered and I was looking into ways to make currying faster something like this http://code.activestate.com/recipes/229472-high-performance-currying-with-instancemethod/ . and to add benchmarks for each functions. And then to clean up the readME.md and to have these docs searchable in a separate gitpage.

@jackfirth I'll reopen the pull request and fix errors in my last commit


Updated Nim to 1.4.0 and Nimble to 0.12.0

Hi Vlad, hope you're doing well!
Any chance I can talk you into adding the hacktoberfest-accepted label to this PR? ;)

@alderocas Thanks!
P.S. Added hacktoberfest-accepted label ;-)

Sure thing, always happy to help!
Thank you for adding the label :)


[$500] Web - LHN - Inconsistency bug: 3 dot text is not centered

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app
Hover on user with very long display name, observe that display name is centered (text overflowing on second line is centered)
Hover on 3 dots in the end and observe that same username text is not centered in this tooltip

Expected Result:
App should center align 3 dot long username text in tooltip as it does on normal tooltip
Actual Result:
App does not center align 3 dot long username text in tooltip
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.74-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/9b3a8301-0d2a-4f8d-bff7-6e23e7ce0b0a
https://github.com/Expensify/App/assets/115492554/48bf9a3d-bb42-48da-a8bf-91275f7fd127
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695228073831509
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~010d3492d7d4a297ab
Upwork Job ID:<PHONE_NUMBER>730693120
Last Price Increase: 2023-09-25

Proposals ready for you @situchan

Bumped @situchan 1:1

@chiragxarora's proposal looks good to me.
🎀 👀 🎀 C+ reviewed
https://github.com/Expensify/App/assets/108292595/85949c0c-ffab-490e-bed2-35fdd093960a

Paid and contracts ended for @situchan & @chiragxarora
Sent you an offer @dhanashree-sawant https://www.upwork.com/ab/applicants/1706323101730693120/hired

Whats the latest on the BZ steps @situchan ?

No regression. We can skip regression test as this was super minor UI bug (not actually bug)

Great, all paid and regressions! Closing


RTL direction

when need RTL direction version
to scroll item from left to right in Arabic website's

can u give an example for this? do you mean rtl direction version for autoplay?

@Spider149 yes, i mean rtl direction version for autoplay.

I added isRTL option, you can try adding this option. Feel free to fork or create a merge request.


I want to contribute website UI for donating orphan people

Describe your issue.
It is made using html css and javasricpt only
Screenshots (if applicable).
No response
Additional context (if any)
No response

Sure would love to, @YugalPradhan


Want to improve the style of this section

I will make a section to the center and also add some transitions. Pls assign this issue to me @tushargupta1504

can i also work on this issue please


Sonarcloud improvements

Here are a bit more complex sonarcloud fixes.

6.9% code duplications in "new" code: This was not my if-else. I just factored it out to reduce the complexity of the old code ...

For me, the failing sonar check should be ignored..., but the other check should be fixed :-)


[HUDI-460] Redo hudi-integ-test log statements using SLF4J

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
Redo hudi-integ-test log statements using SLF4J
Brief change log
Redo hudi-integ-test log statements using SLF4J
Verify this pull request
This pull request is a trivial rework / code cleanup without any test coverage.

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

👍

Thanks for your contribution @wangxianghu , maybe we need to verify the changes with some jobs, e.g. using https://hudi.apache.org/docker_demo.html to avoid jar conflicts.

@leesf @yanghua for all these diffs on slf4j, I think we should establish what testing is good enough, ensure some jobs are tested end-end before we merge? where are we on this front?

@leesf @yanghua for all these diffs on slf4j, I think we should establish what testing is good enough, ensure some jobs are tested end-end before we merge? where are we on this front?

Reasonable. IMO, it's hard to verify this change via end-to-end test cases or automatic testing. We will require the contributors of the PRs to doing the verification in their local. What's more, we will verify the log print again in our local env.

@leesf @vinothchandar @yanghua  Thank you for your advice, i will verify these changes in my local.

@wangxianghu Thanks for opening this PR, Could you please reopen and merge this PR to redo-log branch? more context can be found https://lists.apache.org/thread.html/9dc1f3a590413a5224a1a5ad835353e11b2b754e1ec7ad1ca0a55053%40<dev.hudi.apache.org>

@leesf  Ok, No problem.


SO Optimizer error with Z80N (Next) Opcodes

Tested Version: 2.4
Command: java -jar mdl.jar code.asm -cpu z80next -dialect sjasmplus -so -asm code.final.asm
I am not sure what opcode this is choking on, I tested with the latest version from 18 days ago.  The rule-based and pattern-based optimizers work fine with the code.
Essentially the optimizer goes into an endless loop spitting out the following exception:
ERROR: Could not generate test case for search-based optimizer!
ERROR: Exception: Unimplemented opcode detected
ERROR: [util.microprocessor.Z80.Z80Core.extendedED(Z80Core.java:2883), util.microprocessor.Z80.Z80Core.decodeOneByteInstruction(Z80Core.java:1406), util.microprocessor.Z80.Z80Core.executeOneInstruction(Z80Core.java:429), workers.searchopt.PrecomputedTestCaseGeneratorForOptimization.generateTestCase(PrecomputedTestCaseGeneratorForOptimization.java:259), workers.searchopt.SearchBasedOptimizer.optimizeStartingFromLine(SearchBasedOptimizer.java:978), workers.searchopt.SearchBasedOptimizer.workOptimize(SearchBasedOptimizer.java:521), workers.searchopt.SearchBasedOptimizer.work(SearchBasedOptimizer.java:265), cl.MDLConfig.executeWorkers(MDLConfig.java:253), cl.Main.main(Main.java:83)]

In the stream of errors  I also see a single instance of the following error:
ERROR: Error encountered while running the SearchBasedOptimizer starting at line:     nextreg 8, 00010010b  ; ABC, enable internal speaker & turbosound
ERROR: Exception: null
ERROR: [workers.searchopt.Specification.getGoalDependenciesSatisfiedFromTheStart(Specification.java:253), workers.searchopt.SBOCandidate.precomputeCandidateOps(SBOCandidate.java:802), workers.searchopt.SearchBasedOptimizer.workGenerate(SearchBasedOptimizer.java:322), workers.searchopt.SearchBasedOptimizer.optimizeStartingFromLine(SearchBasedOptimizer.java:992), workers.searchopt.SearchBasedOptimizer.workOptimize(SearchBasedOptimizer.java:521), workers.searchopt.SearchBasedOptimizer.work(SearchBasedOptimizer.java:265), cl.MDLConfig.executeWorkers(MDLConfig.java:253), cl.Main.main(Main.java:83)]

Oh, interesting. Thanks for reporting, let me try to see if I can reproduce this tonight, so I can fix it.

Ah. indeed. I can reproduce. Just trying to run the Search-based optimizer in a file with the "nextreg" opcode causes this behavior. I'll try to fix this week, and update this thread. Thanks again!

Sounds good, I will give it a try as soon as I can. Thanks!


Show Clipboard History

Feature description

Ability to show the copy history
Ability to show the past history

Goal? To find lost copied or pasted text.

That would be great 👍


Flyway locking is unsafe in MySQL 5.6 and below

Which version and edition of Flyway are you using?
Flyway Community Edition 6.5.5 by Redgate
If this is not the latest version, can you reproduce the issue with the latest one as well?
It is the latest.
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command Line
Which database are you using (type & version)?
MySQL
Which operating system are you using?
Linux
What did you do?
I inspected the code to see how it ensures one migration is performed at a time in MySQL, and noticed an issue:
Flyway uses GET_LOCK in a way that relies on the MySQL 5.7+ behavior. In MySQL 5.6 and earlier, subsequent calls to GET_LOCK in the same session will release all previous locks acquired. I confirmed via a trace (see
mysql.log attached) that this issue exists, and that there is no reserved connection logic to mitigate this.
It looks like MySQL 5.6 is now enterprise only support, but I can only assume it uses the same code base.
~I think there is also an issue in the PXC implementation, but I will investigate and file separately.~ Edit: The PXC implementation is safe! It uses SELECT FOR UPDATE in one session, and a second sesion to do the work to avoid the implicit commit from a CREATE TABLE releasing the lock. May I suggest just using the PXC implementation everywhere? See
pxclog.log.
What did you expect to see?
I expect it to work, or error.
What did you see instead?

MySQL 5.6 is fairly old and support is due to end in early 2021 so it isn't worth changing the behavior. Also we only use GET_LOCK when creating the schema history table so there isn't a table to use the PXC implementation. Thanks though!


Pressing Enter doesn't send notifications to the mobile in TF connect login

Pressing Enter doesn't send notifications to the mobile
There were login button it doesn't show up
Browser firefox

i have the same this issue on ubuntu firefox

i have the same this issue on ubuntu firefox

We've never been able to reproduce on any device and therefor not been able to fix either. I've seen previous screenshots where people get gateway timeouts. Are we sure it is not some local setup that is just networking wrong?


LLM_tuning demo GPU requirement : batch_size =2

I am getting OOM with V100 (32GB), when I set batch_size in  gtoolformer_gptj_script.py to 2
    self.train_model(train_dataloader=self.data['train'])
  File "/scratch/yerong/Graph_Toolformer/LLM_Tuning/code/Method_Graph_Toolformer_GPTJ.py", line 82, in train_model
    self.optimizer.step()
  File "/scratch/yerong/.conda/envs/gtool/lib/python3.9/site-packages/torch/optim/optimizer.py", line 140, in wrapper
    out = func(*args, **kwargs)
  File "/scratch/yerong/.conda/envs/gtool/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/scratch/yerong/.conda/envs/gtool/lib/python3.9/site-packages/bitsandbytes/optim/optimizer.py", line 261, in step
    self.init_state(group, p, gindex, pindex)
  File "/scratch/yerong/.conda/envs/gtool/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/scratch/yerong/.conda/envs/gtool/lib/python3.9/site-packages/bitsandbytes/optim/optimizer.py", line 391, in init_state
    state["state1"] = torch.zeros_like(
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 1; 31.75 GiB total capacity; 30.28 GiB already allocated;

Also I've got warnings on compute capability:
/scratch/yerong/.conda/envs/gtool/lib/python3.9/site-packages/bitsandbytes/cuda_setup/main.py:136: UserWarning: WARNING: Compute capability < 7.5 detected! Only slow 8-bit matmul is supported for your GPU!

you find the solution already, why you still ask this question?


All Button tool tip. If user hover at a button icon then it should be shown button title e.g Edit, Delete, View etc.

Finished


Item lore broken in 1.20.5 and up

It is not explain the items, for example when i am put the mouse on the talisman it is only show "luck of the sea 1" and not the thing it sould do.

Do the items actually work?
What are your spigot server and Magic plugin versions?
/version
/magic

the items are working but as i say the instead of what the talisman does it is say "luck of the sea 1".
I am using the latest version of magic and version 1.21.1

Thank you for reporting this, I can't believe I didn't notice that all lore was completely broken :(
I have it fixed now, you can get the latest dev build or wait for me to make a new release, which I will probably do pretty soon.
https://jenkins.elmakers.com/job/MagicPlugin/4295/

Are you going to uploade it to spigot when it is done?
I love this plugin so much and i am using it in my aternos server.

I just released it to spigot and dev.bukkit.org as 10.9.2


[BUG] No response to certain Slack messages and it always requires --cluster-name

Describe the bug
Having some strange behaviour with the commands via Slack. I have just installed this into my cluster using the v1.11.0 script, following the installation steps.
The installation works fine and its on the whole, an excellent tool. Amazing work by the team here!
The problem arises when I try to use commands via Slack. Some of the commands work, some of them do nothing and do not respond with anything either.
The documentation specifies that running a command without the --cluster-name flag should run on all clusters, but nothing is returned as a response to Slack.
For example:

@BotKube ping

This always works, with the response:

pong from cluster 'production.kammadata.k8s.local'

K8s Server Version: v1.18.9
BotKube version: v0.11.0

@BotKube get pods --cluster-name=production.domain.local

This always works, but only when specifying the --cluster-name

@BotKube get pods

This never works, with no response and nothing in the pod logs

@BotKube commands list

This never works, with no response and nothing in the pod logs

Not sure what I'm doing wrong. I have the Slack config as follows:
stringData:
  comm_config.yaml: |
    # Communication settings
    communications:
      # Settings for Slack
      slack:
        enabled: true
        channel: '#kubernetes-sonar'
        token: '<redacted>'
        notiftype: short                            # Change notification type short/long you want to receive. notiftype is optional and Default notification type is short (if not specified)

The settings configured as follows:
# Setting to support multiple clusters
settings:
  # Cluster name to differentiate incoming messages
  clustername: production.domain.local
  # Kubectl executor configs
  kubectl:
    # Set true to enable kubectl commands execution
    enabled: true
    commands:
      # method which are allowed
      verbs: ["api-resources", "api-versions", "cluster-info", "describe", "diff", "explain", "get", "logs", "top", "auth"]
      # resource configuration which is allowed
      resources: ["deployments", "pods" , "namespaces", "daemonsets", "statefulsets", "storageclasses", "nodes"]
    # set Namespace to execute botkube kubectl commands by default
    defaultNamespace: default
    # Set true to enable commands execution from configured channel only
    restrictAccess: false
  # Set true to enable config watcher
  configwatcher: true
  # Set false to disable upgrade notification
  upgradeNotifier: true

I've tried:

Changing the channel name
Doing a complete re-installation from scratch of v1.11.0, deleting all the old infrastructure and trying again
Putting the clustername in quotes in the settings
Enabling and disabling the restrictAccess flag

Any help would be greatly appreciated!
To Reproduce
Steps to reproduce the behavior:

Install a fresh installation of v1.11.0
Go through the setup steps and configure Slack
Cannot run commands as intended

Expected behavior
For any and all commands, a response should be given. The --cluster-name flag is also optional in the documentation, but does not work in production.
Screenshots

Additional context

@othyn There are 2 sets of BotKube commands -

Configuration Commands - (like @BotKube notifier/commands/filters) which can be executed from only within a channel that is configured to push notifications to while installing backend. The reason is if someone changes notification settings, it should be visible to the members.
Kubectl commands - Now, if kubectl command is executed in a channel which is mapped/configured with a backend, --cluster-name flag is optional. So in case of a multi-cluster setup, BotKube will execute the command on the cluster to which the channel is mapped. In other channels, --cluster-name flag is mandatory because if you have a multi-cluster setup, you have to specify on which cluster you want to execute the command.

Please refer: https://www.botkube.io/usage/
We definitely have to improve our docs to reflect this in a better way

Thanks for your help!
Turns out I was being an idiot and had set the Slack channel name up with the # character still included in the name, removing it solved the issue, as as you say, it is now inline with the backend configured channel, so now works.


Alias NodeRelation.schema_name to simply 'schema'

Resolves #106
Description
Alias NodeRelation.schema_name to simply 'schema'
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

I was just going to say exactly what @QMalcolm said. I just can't reason about what this alias magic from Pydantic will do in practice and I don't feel up to another deep dive into the Pydantic 1.10 codebase at this point.
Unfortunately our CI integrations between this repo and its various dependencies are lacking so we might be in a situation where we have to merge -> deploy -> test -> roll back.

Also, why are we making this change? I can't tell if the protocols need to be updated here, or if this is step 1 in a multi-step migration process that has to be merged and deployed in sequence in order to safely update the protocols, or what our final outcome is generally expected to be.


How can i receive active write messages from ebusd in ioBroker?

Hi
ebusd  provides by default master-slave read messages on http://192.168.nnn.nn:8889/data. You have to use the query parameter write if you want to include write messages in addition to read (http://192.168.nnn.nn:8889/data/?write)
How can I map this in the ioBroker ebus adapter?
Background: I have the Vaillant VR71 main extension module and use therefore the 26.vr_71.csv from John30.
Now I receive without any problems data from the flow temperature sensor (S2) as well as from the allSTOR buffer cylinder system sensors (S5-S8) because these are master-slave read messages. In addition, 26.vr_71.csv also decodes master-master command message with which the heating pump and the 3-way mixer are controlled. Very interesting information that I would like to evaluate too.
Kind regards,
Daniel

The adapter offers the possibility to actively query certain data points:

Doesn't that help?
From my point of view, the ebus works in such a way that a bus participant has to query a data point. The ebusd simply listens to which data is displayed on the bus and incorporates this into the data structure. So if there are data points that are not requested by any other bus participant, they do not appear on the bus. This is why you can have the adapter query values via the ebusd.
As soon as the value appears on the bus, it is also displayed with the read command and transferred to the adapter data structure.

Good morning,
Thank you very much for your support.
Yes - I know this TCP client command option. It is very useful because it is the only way to send commands (and receive “passive” information from the ebus). With the help of this query technology, I can read data from the hydraulic station (HMU) that I could otherwise only get if I call up options such as sensor/actuator test directly on the HMU user interface.
But I have another problem. It is only indirectly related to read/write TCP client commands.
By default, ebusd only provides Master-Slave and Broadcast messages in form of JSON on http path 192.168.nnn.nn:8889/data. If you now also want to receive the shorter Master-Master messages (write messages), you have to expand the path with the "?write" parameter (https://github.com/john30/ebusd/wiki/3.2.-HTTP-client). But in the ebusd ioBroker adapter there is no possibility to extend this path (http://192.168.nnn.nn:8889/data/?write).

It would probably be easiest if I could insert the path by myself in the adapter:

What do you think about that?
Background:
I use a Vaillant VR 71. You can connect units to this module that do not have eBUS access. In my case the temperature sensors of the allSTOR buffer tank as well as the circulation pump and the warm water mixer. The HMU now continually asks VR71 about the temperatures (Master-Slave read messages) and, if necessary, gives the command (Master-Master write message) to start the circulation pump at a certain speed and to open the hot water mixer to a certain degree. In order to get to this data, I now have to be able to receive this special write message.
Thank you for your patience and help.
Regards,
Daniel

I'll try to implement something...

:-)Am 08.12.2024 um 16:41 schrieb rg-engineering @.***>:
I'll try to implement something...
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I added all optionally parameters. By default all are disabled...

Thank you very much for your efforts.
I was away for a long time. Now I've finally got around to trying out the new version. Perfect. Everything as I dreamed.
Thank you very much and happy new year.


Fix negative account id for relatives

For example for "fullName": "БУБНОВ ПАВЕЛ АЛЕКСЕЕВИЧ"
"relatives": [
          {
            "id": -776550812,
            "name": "Бубнов Алексей",
            "type": "PARENT"
          },
          {
            "id": -583283006,
            "name": "Бубнова Наталья",
            "type": "PARENT"
          },

This is not a bug. This is feature of VK API. Negative id is when relative is not set or has no VK account. Owner of account just set name of relative.


Alternate approach to reverting the hook scripts

Instead of removing the scripts from the bootstrap entirely, we can simply leave them as empty placeholders, as the stop hook script already was anyway, so that adding operations to them in the future will be a clean and simple task.
Conflicts with #39

If we go this route, I suggest we remove the config from the nanoagent_json config generator as well. I'm not a super fan of leaving unused code/comments (if we were to comment it out) in a project, but understand the usefulness of having the notes "built in" for if we ever want to implement (without searching git history).

Tend to agree with the sentiment, but I deliberately left the configuration alone to explicitly reference those files. The scripts are left empty to perform no operations, so I'm not aware of any drawback to this.
If we remove them from the config, there's no reason not to remove them entirely. I think it should be one way or the other, personally, but beyond that, don't really have strong feelings on which approach we actually take.


Update fixedOperationParameters value for OIS v2.1

Closes #503

@dcroote Should do a short list of allowed types? It seems we are implying a string or an array are the types. Is that right?

@dcroote Should do a short list of allowed types? It seems we are implying a string or an array are the types. Is that right?

Nope. I've updated the PR to clarify, let me know if it is clear.


Add html_content option for form email tempaltes

An email template may contain html, in order to render it properly we must set correct content type for an email
Refs MH-50

Hmm. I'm kinda not sure if we want to start doing migrations and everything in our fork... Could we... like, auto-detect if the template is HTML? Like, look for at least one opening and closing HTML tag in it? Not sure if that's sane.

Then this approach wouldn't be different from hardcoding content type to html. Plain text messages look plaintexty even if message's content type is html.

Detecting at least one <[^>]+> and one </[^>]+> is less false-positive prone though than just making everything HTML, it feels like.
I don't know. I just feel like if we start doing migrations and all, this is becoming more of an actual fork of the (abandoned?) original version than just a bugfix fork...

ok, lets close this.


How do I customize components as part of the theme? (border radius, gradients, font family, etc)

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Hello, I'm trying to brand an app we are working on that was made with Admin on Rest and Material UI. I've been reading through the Material UI docs and have been trying to put together a theme but I'm having difficulty adjusting certain styles.
I've been using this as a reference but it seems to be missing many properties/properties aren't working when I add them https://github.com/mui-org/material-ui/blob/master/src/styles/getMuiTheme.js
Here are a few of the things I'm trying to do but can't figure out how:

Make the background color of buttons a gradient
Add a border radius to buttons
Use a different font for titles and the AppBar

This is an example from my theme.js file:
{
  appBar: {
    fontFamily: 'Karla, sans-serif',
    titleFontWeight: 800,
  },
  button: {
    background: 'linear-gradient(0deg, red, blue)',
    borderRadius: '50px'
  }
}

Certain things work like the titleFontWeight but not others like fontFamily (I tried titleFontFamily as well).
I must be missing something because I couldn't find a way to do these in the docs, could someone please point me in the right direction?
Thanks!

Try: https://material-ui-next.com/customization/themes/ specifically: https://material-ui-next.com/customization/themes/#customizing-all-instances-of-a-component-type

@mbrookes Sorry to bother you, I should have mentioned I'm on version 0.19.0 (the version Admin on Rest supports) and I don't think those docs you linked are working for this version. Could you please point me to the equivalent for my version? They link to this page in their docs but I can't find anything like that overrides example in those docs. http://www.material-ui.com/#/customization/styles
Thanks again.

@mbrookes Thanks for the reply. I'll move this discussion to the Admin on Rest repository to see when they're planning on upgrading.

Try: https://material-ui-next.com/customization/themes/ specifically: https://material-ui-next.com/customization/themes/#customizing-all-instances-of-a-component-type

I'm also looking for this. I think the current link for the "all instances" use case is now https://material-ui.com/customization/components/#5-global-theme-variation


Random display names

Utilizing Moniker, guest users are given random display names. This is
configurable by setting the variable AccountsGuest.name in server-side
code.

thanks!


Card list import modal doesn't close on successful import

After pasting a sealed deck pool from 17lands to play around with it, I hit Import and got the Successful message.
The pool loaded but the import dialog stayed open:

39cb45d3a2a4bca6ff0041dfbc381816c988f1fc


Angular complains about missing index.ts when it is there

When running ng serve -o on a project that includes @fireflysemantics/slice I get the following error:
ERROR in<EMAIL_ADDRESS>Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error<EMAIL_ADDRESS>is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
The missing file seems to be part of a third party library. TS files in published libraries are often a sign of a badly packaged library. Please open an issue in the library repository to alert its author and ask them to package the library using the Angular Package Format (https://goo.gl/jB3GVv).
    at AngularCompilerPlugin.getCompiledFile (/home/ole/Temp/sph/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:900:23)
    at /home/ole/Temp/sph/node_modules/@ngtools/webpack/src/loader.js:41:31
    at processTicksAndRejections (internal/process/task_queues.js:85:5)

I don't get this error in Stackblitz projects.  For example here's one with the most recent version of @fireflysemantics/slice:
https://stackblitz.com/edit/angular-slice-ngrx-scratch-demo-final-version9
Do we need do include the index.ts manually in the files or include property?
🐞 Bug report
Command (mark with an x)

[ ] new
[ ] build
[x ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] xi18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

Yes it has worked in all previous versions.
Simple steps to reproduce this bug.
ole@mkt:~/Temp$ ng new fstest
? Would you like to add Angular routing? Yes
? Which stylesheet format would you like to use? SCSS   [ https://sass-lang.com/documentation/syntax#scss
npm i -S @fireflysemantics/slice

Create this app.component.ts:
import { Component } from '@angular/core'
import { EStore} from '@fireflysemantics/slice'
class Todo {}
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  constructor() {
    const eStore:EStore<Todo> = new EStore()
    console.log(eStore)
  }
  title = 'fstest';
}

Now run ng serve -o
You should get the error.
🔥 Exception or Error

ERROR in<EMAIL_ADDRESS>Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error<EMAIL_ADDRESS>is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
The missing file seems to be part of a third party library. TS files in published libraries are often a sign of a badly packaged library. Please open an issue in the library repository to alert its author and ask them to package the library using the Angular Package Format (https://goo.gl/jB3GVv).
    at AngularCompilerPlugin.getCompiledFile (/home/ole/Temp/sph/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:900:23)
    at /home/ole/Temp/sph/node_modules/@ngtools/webpack/src/loader.js:41:31
    at processTicksAndRejections (internal/process/task_queues.js:85:5)

🌍 Your Environment

ole@mkt:~/Temp/fstest$ ng version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 9.0.0-rc.5
Node: 12.6.0
OS: linux x64

Angular: 9.0.0-rc.5
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.900.0-rc.5
@angular-devkit/build-angular     0.900.0-rc.5
@angular-devkit/build-optimizer   0.900.0-rc.5
@angular-devkit/build-webpack     0.900.0-rc.5
@angular-devkit/core              9.0.0-rc.5
@angular-devkit/schematics        9.0.0-rc.5
@ngtools/webpack                  9.0.0-rc.5
@schematics/angular               9.0.0-rc.5
@schematics/update                0.900.0-rc.5
rxjs                              6.5.3
typescript                        3.6.4
webpack                           4.41.2

Based on the error log that you've pasted, I can pinpoint that it's caused by this issue

The missing file seems to be part of a third-party library. TS files in published libraries are often a sign of a badly packaged library. Please open an issue in the library repository to alert its author and ask them to package the library using the Angular Package Format (https://goo.gl/jB3GVv).

As such, I looked at the Unpkg CDN for the library you've specified and have discovered that a recent version of the library has unintentionally included an index.ts file in the package. This is the reason why your compilation didn't work.
For now, the resolution would be to revert back to a former version of the library that does not contain the index.ts. (In this case, it would be v9.0.1, which also has a completely different format (the Angular Package Format!) from older versions of the same library - strange)
Hope this helps!

It's mistake by developer of @fireflysemantics/slice, as developer is including ts files in the library, this is not standard understandable by Angualr hence the error
Error<EMAIL_ADDRESS>is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property. The missing file seems to be part of a third party library. TS files in published libraries are often a sign of a badly packaged library.
Until the developer makes the changes in the library, you need to remove index.ts file from node_modules@fireflysemantics\slice.
After removing index.ts, angular will use valid index.js from same directory.
After removing the index.ts file, ng serve again, it should work.
Also until developer fixes it, you can add following in package.json to start your application by npm start. It'll take care of the file.
"start": "rm<EMAIL_ADDRESS>&& ng serve",
Please close this, as this is not angular issue.

@Plochie Have you realised that the author of this issue is the library author? Strange why the library author would post an issue here?

@EdricChan03, realized after your comment. I think there is no point discussing this further. :) As this is clearly not angular-cli issue.

Closing as per the above comments.


Moq failing when encountering a generic function

I am using latest moq version with go1.21
Moq seems to error when it encounters a generic function (it is not part of the mocked interface):
geritol@Gergos-MBP actions % go version
go version go1.21.0 darwin/arm64
geritol@Gergos-MBP actions % moq -out MockAAA_test.go -stub . AAA -fmt noop
couldn't load source package: some-file.go:367:15: expected '(', found '[' (and 30 more errors)
moq [flags] source-dir interface [interface2 [interface3 [...]]]
  -fmt string
        go pretty-printer: gofmt, goimports or noop (default gofmt)
  -out string
        output file (default stdout)
  -pkg string
        package name (default will infer)
  -rm
        first remove output file, if it exists
  -skip-ensure
        suppress mock implementation check, avoid import cycle if mocks generated outside of the tested package
  -stub
        return zero values when no mock implementation is provided, do not panic
  -version
        show the version for moq
Specifying an alias for the mock is also supported with the format 'interface:alias'
Ex: moq -pkg different . MyInterface:MyMock

Not sure how to resolve this.

Probably was an issue with the installed moq version (I have used go install github.com/matryer/moq@latest as per the docs).
After doing  go install<EMAIL_ADDRESS>it is working properly.
moq -version yielded moq version dev for both versions.


Problems deleting metric alert using "azurerm_monitor_metric_alert" via terraform:

Error: Error deleting metric alert "" (resource group "xxx-xxx-xxxxx"): insights.MetricAlertsClient#Delete: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="UnsupportedResourceOperation" Message="The resource type 'metricalerts' does not support this operation."
Previously we were able to import there resources to the state and do targeted-apply.
Here's a log of the execution plan:
module.xxxxxxxx.azurerm_monitor_metric_alert.database-data-space-used-percent-warning must be replaced
-/+ resource "azurerm_monitor_metric_alert" "database-data-space-used-percent-warning" {
+ auto_mitigate            = true
+ description              = "Triggered when database data space used percent is greater than 80."
+ enabled                  = true
+ frequency                = "PT5M"
~ id                       = "xxxxxx-> (known after apply)
+ name                     = "xxxxxxxxx-database-data-space-percent-warning" # forces replacement
Has anyone else experienced this issue?

Thanks for bringing this to our attention. We are actively investigating and will get back to you soon.
Kindly add the link to any documentation related to this issue so we can attempt to reproduce.
Cheers.

Hi @femsulu , here's the link for documentation.
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_metric_alert

@tdx-devops - Apologies for the delay in response. We are trying to actively work on this issue and find the right contact to get the issue resolved. We will get back to you as soon as we have an update.  Thank you for your patience.

@tdx-devops -


How to hide the action bar?

I am attempting to hide the action bar (title bar) in my Turbo Native application in Android Studio but the usual way doesn't seem to be working.
I am using the call inside my MainActivity.kt:
supportActionBar?.hide()
Full code:
package com.strategiccoach.winstreak

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import dev.hotwire.turbo.activities.TurboActivity
import dev.hotwire.turbo.delegates.TurboActivityDelegate

class MainActivity : AppCompatActivity(), TurboActivity {
    override lateinit var delegate: TurboActivityDelegate

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        supportActionBar?.hide()
        setContentView(R.layout.activity_main)
        delegate = TurboActivityDelegate(this, R.id.main_nav_host)
    }
}

And I've also made sure the themes.xml has no action bar set like so:
<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Base.Theme.myapp" parent="Theme.Material3.DayNight.NoActionBar">
        <!-- Customize your light theme here. -->
        <!-- <item name="colorPrimary">@color/my_light_primary</item> -->
    </style>

    <style name="Theme.myapp" parent="Base.Theme.myapp" />
</resources>

But neither of these seem to work. Is something in Turbo setting the action bar?

Here's how to hide the action bar based on the documentation of Turbo Android.
In WebFragment.kt,
package YOUR_PACKAGE

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import dev.hotwire.turbo.fragments.TurboWebFragment
import dev.hotwire.turbo.nav.TurboNavGraphDestination

@TurboNavGraphDestination(uri = "turbo://fragment/web")
class WebFragment : TurboWebFragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.web_fragment, container, false)
    }

    override fun shouldObserveTitleChanges(): Boolean {
        return false
    }
}

In res\layout\web_fragment.xml,
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include
        layout="@layout/turbo_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/app_bar" />
</androidx.constraintlayout.widget.ConstraintLayout>

@LeeGoTech Thanks for your reply. I'm a bit confused as to the package line. Should I be using line "package com.strategiccoach.winstreak" in the first file (which is in my MainActivity.kt)?
When I do so, I'm getting an error "Unresolved reference: WebFragment" when I try to build based on this code.

Please provide me a screenshot so I can assess the issue further.

@LeeGoTech Sure, here is my code sample
package com.strategiccoach.winstreak

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import dev.hotwire.turbo.fragments.TurboWebFragment
import dev.hotwire.turbo.nav.TurboNavGraphDestination

@TurboNavGraphDestination(uri = "turbo://fragment/web")
class WebFragment : TurboWebFragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.web_fragment, container, false)
    }

    override fun shouldObserveTitleChanges(): Boolean {
        return false
    }
}

And here's what the build error looks like

One that shows the error clearer

I see the problem. There's no need to import the WebFragment class since it's already included in the registeredFragments method.
Let me know if there are still any problems related to hiding the action bar.

@LeeGoTech So I did try removing this line as well, which does remove the action bar, but then I'm left with this giant space on my app so I put the line back in. Any ideas?

It's easy to trigger said space, just by clicking into any input box and then clicking out of it.

Please create another issue. I'll address that.

Refer to this issue: #215

@LeeGoTech This method does work to remove the space but it then prevents the screen from shifting up when clicking into the input that's lower in the page. Here's a demo (note: I'm trying to click into the second input down the page which makes the typepad cover it up). Previously, it would shift the whole page up:
https://github.com/user-attachments/assets/cfb579f7-c227-4e45-8e98-3dd12f881a92

Use this in your web_fragment.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:background="@android:color/transparent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

    </com.google.android.material.appbar.AppBarLayout>

    <include
        layout="@layout/turbo_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/app_bar" />

</androidx.constraintlayout.widget.ConstraintLayout>

@LeeGoTech I tried this code block but no change unfortunately.

I forgot something. Change adjustPan to adjustResize in AndroidManifest.xml.


JPEG Compression in GDAL COG colors are wrong

When converting a GeoTIFF to COG with JPEG compression, the colors are wrong (image below). I'm using OpenLayers 6.11.0 and it's geotiffjs 1.0.8. And I realised that the version on Github is geotiffjs 1.0.4

Opening this COG on QGIS  the colors are normal (image below): QGIS version 2.8

When using the attribute convertToRGB: true, the colors are correct, but I can't remove the green border with nodata: 135

GeoTIFF file
https://drive.google.com/file/d/1sFhWY41YioI0DObtlxOIN318itw8j8jT/view?usp=sharing
Can you help to resolve this issue?
Expected behavior
Correct rendering of YCBCR for properly display the colors

The use of the convertToRGB option here is expected. The thing that we might be able to improve is the nodata handling in the case where convertToRGB is set to true. Is 135 the nodata value you used in the first screenshot?

The first screenshot is with convertToRGB: false, the nodata: 135 was a attempt to remove the green border in the third screenshot with convertToRGB: true. I don't know if it's possible to pass an array to nodata  like [0, 255, 0] when convertToRGB is true to have more control which color to remove from the image

Is there any progress on this issue?


Update to Swift 4.1.1

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1266   +/-   ##
=======================================
  Coverage   88.11%   88.11%
=======================================
  Files          37       37
  Lines        2347     2347
=======================================
  Hits         2068     2068
  Misses        279      279

Flag
Coverage Δ

#Kitura
88.11% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


(#183) Ensure models are downloaded before serving in Ollama inference

This commit fixes #183

Given my comments above I am closing this PR.


Support Debian 9 (stretch)

This patch adds Debian 9 support : under stretch, settings are identical to jessie.

Hello,
Thank you for this PR.
Could you please add tests? It would be great :-)
Thank you.
Regards,

PR #14 should be applied to pass all tests.

Hello,
Thank you for your hard work.
I fixed this in the develop branch and I will publish a new release soon.
Regards,

Up?

Hi,
I merged your work on a new repository: https://github.com/solution-libre/puppet-gitolite
You can find the new module here: https://forge.puppet.com/soli/gitolite
Regards,


Improve dropdown in the navbar.

Is your feature request related to a problem? Please describe.
As of now, the dropdown is the usual one.

Describe the solution you'd like
We can style the dropdown to make the UI/UX better.
Are you working on this? (Yes/No)
For GCI participant

Duplicate Issue
This issue is already open at #491


ADDED Option to separate numbers in snake Case

This PR adds an option to separate numbers when using snake case, resolves #50
Eg:
Earlier, snakeCase('AddressLine1') would give 'address_line1'.
With new option, snakeCase('AddressLine1', { separateNumbers: true }) would return 'address_line_1'

Do you want to just add an option here: https://github.com/blakeembrey/change-case/blob/c24a0e18044bf77d9e824e93f04f7eb4e2151230/packages/no-case/src/index.ts#L20-L25?
This way would solve the issue for all "cases", since it's more in the interpretation of the string than the formatting side.

If we do that, the regex changes that are done in snake case package would also be moved into no-case so that it can handle numbers there itself.
Would that be fine?

@blakeembrey I have moved the option from snake-case to no-case.
Have tested the new option in no-case, dot-case, param-case, pascal-case & camel-case. Should I further test all packages for the effects the new option has?
Also, do note that the new test cases will pass only when we use the local no-case and in turn, local dot-case etc packages as dependencies. This should be resolved if and when we merge the changes in the repository.

What about appending the two additions you want to the regex list when the option is specified?

Appending wouldn't particularly work cause I guess we should add the 2 new regexps only when user didn't specify their own splitRegexp.
So I resorted to creating a new array using the default one and adding the new options to it.
Afterwards, based on whether or not the user provided splitRegexp and separateNumbers options, either new or default regexp is used.
Also updated code to de-structure splitRegexp separately to use let only for this.

Also, can we get some more test coverage, specifically around the final regex (number then letter) and combinations of things like Foo12019Bar or V1Test.

Added test cases in various packages.
The new option does provide results that may not particularly be useful in camelCase and PascalCase (the two that I tested). These two in particular add an underscore before numbers when separateNumbers is true. I wonder if it'll be useful in any scenario.
For eg.
pascalCase("Foo12019Bar", { separateNumbers: true });    //  "Foo_12019Bar"
pascalCase("aNumber2in", { separateNumbers: true });     //  "ANumber_2In"
pascalCase("V1Test", { separateNumbers: true });         //  "V_1Test"

Is there still interest in merging this feature? I welcome it.


listing loadbalancers doesn't work.

Hi,
No matter what account I use, all of which have ELB's, whenever I issue
awless list loadbalancers
I always get the following

No results found.

Other than that, awless is absolutely awesome. Good job. :smile:

@martindanko Thanks for reporting.
First note that awless only consider ELB version 2 (ELBV2). But if you think your load balancers are V2, then let's try the following.
Get a bit of a debug context by listing again with the extra verbose flag:
awless ls loadbalancers -e
Make sure you are happy with the aws region and profile displayed (i.e. used to fetch data)
Then you can also do a sync manually to check out what is fetched:
awless sync -e
Can you then dump the results of those commands in this issue (anonymizing any data you do not want to show).

@simcap - That may explain it, I don't believe I have any v2 ELB's. Is there a reason awless only supports v2 ones?
Thanks for your quick reply.

No reason in particular for not supporting classic ELB yet apart from prioritizing on other service integration and features so far
But it is on our list as there are a lot of classic AWS ELB out there.
Issue #71 is already opened for that and will track the progress. Feel free to implement it with a pull request.
I will close this issue then.


Auto-generate CSSStyleDeclaration from propdef definitions

Since we already have all the properties defined in the spec it would be handy to create the IDL definitions per spec as well.
Currently we do some hand-wavy stuff in CSSOM that is very generic.
You will also want to carry over a little bit of boilerplate text from CSSOM.

See also https://github.com/w3c/csswg-drafts/issues/5412 for potential pitfalls here (though as far as I'm aware no such property is currently defined)


Use attributes instead of comments

I suspect the implementation would be much simpler if instead of:
#' @get /mean
normalMean <- function(samples=10){
  data <- rnorm(samples)
  mean(data)
}

you did
normalMean <- function(samples=10){
  data <- rnorm(samples)
  mean(data)
}
expose(normalMean) <- "GET"

where you have
`expose<-` <- function(x, value) {
  class(x) <- "api"
  attr(x, "method") <- "GET"
  x
}

or similar

Oh you also need the url so:

expose(normalMean) <- apiGET("/mean")

`expose(normalMean, "GET") <- "/mean"

Or even just `expose(normalMean, "GET", "/mean"): you could just maintain a global list of endpoints and this would add to it

I guess it is not compatible with roxigen - (error: unknown key...).

Another advantage of using attributes is that you could easily apply to it a package

That's a good point. I hadn't considered using this internally on a package, as the current implementation would cause problems with Roxygen and you may want different API "views" into your package which you can't get if all you can use is annotations.
I am really fond of the simplicity of just adding a comment to your existing function, though. But maybe expose would be simple enough that it could still be a no-brainer. I guess I could always support both.
I'll chew on it.
(Thanks for the feedback, btw)

I am with @hadley on this one. IMO R code should always be in a package, that the most convenient way to express dependencies on (other) packages and package versions.
Simplicity is great, but I think you can still keep it simple. Here are some more possibilities. Actually you might not even need to name the function, if you only want to expose it in the API, but don't use it otherwise.
get("/mean", function(samples = 10){
  data <- rnorm(samples)
  mean(data)
})

Then if you still want to name the function:
normal_mean <- get("/mean", function(samples = 10) {
  data <- rnorm(samples)
  mean(data)
})

Or:
get("/mean",
  normal_mean <- function(samples = 10) {
    data <- rnorm(samples)
    mean(data)
  }
)

This last one need some NSE, so might not be the best option.

Great idea, btw!

I think get() is a bit too short given the specificity of the problem, but rapier_get() or api_get() would be good.
@gaborcsardi I like a setter based approach because then it feels more like you're adding an API on to existing code, rather than writing a web service

Yeah, get() is not the best name, but you can always write rapier::get().
I personally don't like the setter approach that much, because when you look at the function head, you don't see if the function is part of the API, or not, and you need to search for the setter function. It might even be in another file. The current syntax is good in this respect because it has everything important at the top.
Btw. with my syntax you can even do sg like this:
normal_mean <- function(samples = 10) {
  data <- rnorm(samples)
  mean(data)
} %>% add_to_api("GET", "/mean")

:) Although this again puts the API part in the end. :(

@gaborcsardi I'd actually see that as an advantage - you could have an API.R where you define the complete API in one place.  But I think it depends on whether you think of the package primarily as creating a REST endpoint, or whether it's just an add on.

You don't actually need a setter function to be able to put the API in a separate file. The same rapier function can be used both ways:
normal_mean <- rapier("GET", "/mean", function(samples = 10) {
  data <- rnorm(samples)
  mean(data)
})

normal_mean <- function(samples = 10) {
  data <- rnorm(samples)
  mean(data)
})
rapier("GET", "/mean", normal_mean)

and the last line can go into another file if you like.

Here's my current thinking on the matter. I really feel like the "niche" here is in "programming-free APIs" i.e. annotating functions or something equally dead-simple to get up-and-running. At least for the simple case, I like that the info about the API endpoint is so close to the function header, yet you needn't go wrap all your functions in some new semantics. But I agree that there needs to be another mode of operation for e.g. package authors.
I like the brevity of the expose variants, but I can't get over the global state, both in that it seems likely that you'd get collisions/leftovers if this were to become popular, and in that you no longer have nestable routers. I don't think nestability is critical, but I really like the idea that I could have a carRouter and a houseRouter and then expose one with the /car prefix and the other with the /house prefix. I imagine that would be helpful when you get to large APIs, though it's not a must-have.
So I'm realizing that the current R6 classes already support this, though the naming could certainly use some massaging. Here are a couple of possibilities:
mathRouter <- RapierRouter$new() #just Router$new() ? router?
mathRouter$addEndpoint("GET", "/mean") <- normalMean
mathRouter$addEndpoint("GET", "/append") <- appendNum

router <- RapierRouter$new()
router$addRouter("/math", mathRouter)

router$serve()

or
mathRouter <- RapierRouter$new()
mathRouter$expose(normalMean, "GET", "/mean")
mathRouter$expose(appendNum, "POST", "/append")

router <- RapierRouter$new()
router$addRouter("/math", mathRouter)

router$serve()

Bearing in mind that this mode is targeting the "advanced" user (R package authors, etc.), do you think the OO R6 style is too foreign to users?

@trestletech Yes, I think what you wrote is one step further than what @hadley and I suggested and it is great! AFAIK it is very similar how express (and I guess other similar software) does this.
So I am looking forward to this.
I think to use it in production, we would still need (1) a proper web server, and (2) a faster R interpreter. These are kind of independent of your package. (1) might have been solved already by httpuv, I am not sure, and there is work for (2).
Personally I still don't like the setter functions, I think it is somewhat strange for non-hadrcore R users. R6 objects are mutable, so instead of
mathRouter$addEndpoint("GET", "/mean") <- normalMean

you can just do
mathRouter$addEndpoint("GET", "/mean", normalMean)

To me, using roxygen style comments is a bit too clever, because:

You lose all the nice IDE features associated with calling functions: help, autocomplete, ...
They look like roxygen, but aren't, which is likely to cause confusion
It's difficult for other tools work with the additional metadata added by rapier

From a lay person perspective I somehow like the idea with comments. If I can describe the function interface via roxygen to a human why not to application? (It should be easier.)
I agree about IDE, but it could be supported if/when the thing gets popular (as with shiny and dplyr?)
About the compatibility issue - would it be possible with an additional roxygen roclet (api_roclet)? But I have no experience here.

Note to self: I think my decision is to...

[ ] fine-tune and document the object-oriented approach discussed above.
[ ] Support a non-Roxygen-conflicting syntax like ##' whatever to give Package authors an easy out while maintaining backwards compatibility (after confirming that this indeed won't conflict)
[ ] Migrate all examples to the ##' style.

Settled on the #* convention, but maintain #' for backwards compatibility. All docs and examples have been updated as of 3e6ca06bfe17637d19119b505f434f4b3e6d6a77 and the "programmatic" approach is now documented here: http://plumber.trestletech.com/docs/programmatic/ . Thanks for the feedback!


int64 reminder problem has been solved

@apd10 Hi, I found that you can use (<variable-name>.to(tl.int64)) to convert an integer from i32 to i64 to avoid the overflow problem.
Please let me know if you have additional questions.

Thanks @Jokeren  . I will test it out this week.


Remove unchecked warning from PredicateCollection

Fixes #103 . Update PredicateCollection to remove unchecked warning. Fix bug in FindClientCommandTest which was causing error in equals method.

Codecov Report

Merging #109 (2daa81b) into master (3633bd6) will increase coverage by 3.45%.
The diff coverage is 87.50%.

@@             Coverage Diff              @@
##             master     #109      +/-   ##
============================================
+ Coverage     76.09%   79.55%   +3.45%
- Complexity      768     1069     +301
============================================
  Files           104      118      +14
  Lines          2138     2944     +806
  Branches        248      386     +138
============================================
+ Hits           1627     2342     +715
- Misses          445      513      +68
- Partials         66       89      +23

Impacted Files
Coverage Δ

...16_2/btbb/model/predicate/PredicateCollection.java
96.77% <87.50%> (+0.47%)
:arrow_up:

...122s1_cs2103t_w16_2/btbb/model/order/Deadline.java
90.00% <0.00%> (-2.31%)
:arrow_down:

...22s1_cs2103t_w16_2/btbb/model/shared/Quantity.java
79.48% <0.00%> (-0.52%)
:arrow_down:

...tbb/logic/parser/order/FindOrderCommandParser.java
90.47% <0.00%> (-0.44%)
:arrow_down:

...y2122s1_cs2103t_w16_2/btbb/ui/order/OrderCard.java
0.00% <0.00%> (ø)

...2122s1_cs2103t_w16_2/btbb/model/client/Client.java
100.00% <0.00%> (ø)

..._cs2103t_w16_2/btbb/model/util/SampleDataUtil.java
0.00% <0.00%> (ø)

...03t_w16_2/btbb/logic/parser/AddressBookParser.java
100.00% <0.00%> (ø)

..._2/btbb/logic/commands/order/FindOrderCommand.java
100.00% <0.00%> (ø)

...2103t_w16_2/btbb/model/order/CompletionStatus.java
89.47% <0.00%> (ø)

... and 26 more

Continue to review full report at Codecov.

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


Payment made/received edit

[x] Above amount column can't update at the time of edit.
This field not updated

issue closed


[Incremental Imports] Recover from input map failure

rdar://76284047

Recover from a missing inputSourceDependency map entry with a clean build.
Add a test for this.

@swift-ci please test

Thanks, @artemcm !


Add status to adoptable_pets table

Create a migration that will add a status to the adoptable_pets table that allows the designation of the pets status "adoptable", "fosterable", or "adoptable and fosterable".
Completion Criteria:

[ ] As an organization member, when I visit "/organization/pets/:id/edit" I see a field on that form to edit the status of the pet. After I change and update the status of a pet, when I visit "/organization/pets/:id", I can see the pets updated status displayed in the summary card.

I would like to be assigned this issue. A few quick questions, in case I get assigned:

I don't see an adoptable_pets table in the schema, do you mean the pets table?
Should the new column be named "status" or something like "adoptable_status"?

@reyes-dev Hi! You're right. It should be on the pets table! Sorry about the confusion, I'll fix the ticket itself. I was originally thinking just status, but erring on the side of specificity makes sense also!
@kasugaijin @edwinthinks @nsiwnf Do any of you have strong opinions on the title of this row?

I get where you're going with status but it is quite generic. I wonder if something like availability or placement_type or adoptable_fosterable. Ideally one could look at the column name and have a good chance of guessing what it's for.

@reyes-dev Are you still working on this?

@jadekstewart3 I wasn't assigned so I haven't done any work on it.

@reyes-dev oh! do you still want to work on it? I can assign you right now


Release 0.9.1

Current diff between 0.9.0 and the tip of the develop branch: https://github.com/praekelt/seed-service-rating/compare/0.9.0...praekelt:e01932f


Swift 5 warning: withUnsafeBytes is deprecated

In the HMACCommonCrypto.swift, method func hmac(algorithm: HMACAlgorithm, key: Data, message: Data) -> Data, there's a warning thrown by Swift 5 compiler:

'withUnsafeBytes' is deprecated: use withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R instead

Anyone knows how to rewrite that method into recommended form?
Please do post a PR, if you do.

This is the current code:
func hmac(algorithm: HMACAlgorithm, key: Data, message: Data) -> Data {
  let context = UnsafeMutablePointer<CCHmacContext>.allocate(capacity: 1)
  defer { context.deallocate() }

  key.withUnsafeBytes() { (buffer: UnsafePointer<UInt8>) in
    CCHmacInit(context, algorithm.commonCryptoAlgorithm, buffer, size_t(key.count))
  }

  message.withUnsafeBytes { (buffer: UnsafePointer<UInt8>) in
    CCHmacUpdate(context, buffer, size_t(message.count))
  }

  var hmac = Array<UInt8>(repeating: 0, count: Int(algorithm.commonCryptoDigestLength))
  CCHmacFinal(context, &hmac)

  return Data(hmac)
}


Wrong popup menu position if window is moved or resized

Godot version: 4.0.dev.custom_build.4bb3f9d4b
OS/device including version: macOS Catalina 10.15.4
Issue description:
The position and size of the main window affects the popup menu window position:

Moving / resizing the window changes the popup menu window position. Maximizing the window restores the position.
One thing might also be related is that even when the window is maximized, the main menu is a bit offset, covering the menu button itself:

Also, I don't know if it's related, but the console keeps printing the following error:
ERROR: Condition "!uniform_set" is true.
   at: draw_list_bind_uniform_set (drivers/vulkan/rendering_device_vulkan.cpp:5780)

Steps to reproduce:
Move the window away from the top-left corner, and/or resize the window, and then try to open a popup menu.
Minimal reproduction project: N/A

I couldn't reproduce this with build #cbcec0d0567b0b5e173f1e9f90f2c03317156275 on Windows. So it's a duplicate of #38591 which was fixed by #40028 or mac specific issue now.

Yeah, I can't reproduce this on master either. I think it's fixed.
But the popup menu still covers the menu button itself, and I don't know whether it's intended:

@timothyqiu Can you still reproduce this?

I can no longer reproduce this.


client.request_certificate() does not always return an error

Hey,
I noticed that client.request_certificate() may not return an error.
Especially it seems to be the case when limits from the registry where hit.
Could you forward the errors that Lets Encrypt returns?
Thanks.

seems to be general, so if LE is unhappy, it raises an exception but with no error message.


npm dependencies on MacOs

I tried building this project on a Mac but when using npm install I get a series of errors..
Basically it says : npm ERR! install Couldn't read dependencies . Maybe it's because the name of the project contains upper case letters? Am I doing something wrong?
Here's the generated error log, anyway.
Thanks
npm-debug.txt

I manually changed the name inside packages.json from "Laser Plotter" to "laser-xy-plotter" and it worked (downloaded and installed the required dependencies).
Namasté
PS: If needed, I can do a simple pull request with the edit!

the npm module is nw-builder that is only for building release version.

Yes I managed to build the release version and the .app using nw-builder!
How can I run the app if I don't build using nw?
Thanks!

download nwjs normal or sdk from http://nwjs.io, then unzip the nwjs files to LaserXYPlotter's folder.
run nwjs.exe


feat(ToggleSwitch): Add name attribute to ToggleSwitch

Add a name attribute to ToggleSwitch input.
Permit to handle the input like a normal html input when a form is submitted.

Thank you!
Sorry for not reviewing erlyer.

Maybe we should have nativeInputProps on this component.

Thanks for the review and merge. Yes I hesitated to add a nativeInputProps. I will try to do it


net: lwm2m: dont release reply for duplicate block transfer

During normal use, a CoAP packet can be resent due to network congestion
and other causes.  During block transfer the LwM2M client checks to make
sure the block received is the one we expect and if not generates a
"duplicate" warning.  When this happened, we were releasing the reply
handler and when the correct block was received the client would generate
a "No handler" error.
To avoid releasing the reply handler too early, let's set the coap_reply
"user_data" field to an error condition (1).  Then, once the reply
processing is complete we can check the user_data field to be sure that
it's ok to release the reply handler.
Signed-off-by: Michael Scott<EMAIL_ADDRESS>

@therealprof feel free to add a review as well

@mike-scott I'm afraid I'm not too familiar with the code in question for a honest review. Sorry.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #7894   +/-   ##
=======================================
  Coverage   55.02%   55.02%
=======================================
  Files         483      483
  Lines       53970    53970
  Branches    10501    10501
=======================================
  Hits        29696    29696
  Misses      19986    19986
  Partials     4288     4288

Continue to review full report at Codecov.

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

Fixed SHIPPABLE complaint regarding commit description


Fork Rerunnable

This is to address #793.
I decided not to port all cats instances for Rerunnable and only kept MonadError for the sake of testing. At least, we'll keep making sure monad laws (I think these are the only things we use from Rerunnable within Finch) stand.
Please, let me know what do you think.

Codecov Report

Merging #798 into master will increase coverage by 0.43%.
The diff coverage is 88.88%.

@@            Coverage Diff            @@
##           master    #798      +/-   ##
=========================================
+ Coverage   80.17%   80.6%   +0.43%
=========================================
  Files          45      46       +1
  Lines         691     727      +36
  Branches       22      30       +8
=========================================
+ Hits          554     586      +32
- Misses        137     141       +4

Impacted Files
Coverage Δ

core/src/main/scala/io/finch/internal/Rs.scala
93.75% <ø> (ø)
:arrow_up:

.../src/main/scala/io/finch/endpoint/fileUpload.scala
50% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/endpoint/param.scala
74.07% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/endpoint/path.scala
82.85% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/endpoint/cookie.scala
45.45% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/Endpoint.scala
73.07% <ø> (ø)
:arrow_up:

...auth2/src/main/scala/io/finch/oauth2/package.scala
100% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/endpoint/body.scala
61.76% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/EndpointResult.scala
72.72% <ø> (ø)
:arrow_up:

.../src/main/scala/io/finch/internal/Rerunnable.scala
88.88% <88.88%> (ø)

... and 1 more

Continue to review full report at Codecov.

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


Multiple source files passed to the compiler are inconvenient for low-end hardware

The leveldb Makefile passes all source files to a single compiler call. This unnecessarily increases memory use and makes it impossible to benefit e.g. from distcc.
It would be preferably to instead compile source files separately and then link them together. If further optimization is desired, LTO can be used.

Agreed. It first makes libleveldb.so.1.18 in a single call to g++, and then compiles the *.cc files individually into object files before linking libleveldb.a. Doesn't seem very efficient.

Compiles nicely on my Raspberry Pi model 1


SDK Improvements

Add a new subspec, coinbase-official/OAuth for OAuth-only integrations
Improve app switch fallback semantics

Replaces #3.

This looks really good, thanks.


Feature Request: Support Kwallet in addition to libsecret based Linux keyrings

Product and Version [VS/VSCode]: VS Code
OS Version [macOS/Windows]: Kubuntu 18.04 & Arch Linux w/ KDE (both tested)
Live Share Extension Version: 0.2.399
Steps to Reproduce / Scenario:

Uninstall/do not install gnome-keyring.
Sign in to extension.
An error will appear, "The name org.freedesktop.secrets was not provided by any .service files".

gnome-keyring is listed in the prerequisite dependencies, however it would make for a smoother experience on non Gnome-based (such as KDE with KWallet) distros if it was not required to have multiple keyrings installed.

@odensc Thanks so much for the feedback! We will take a look and seeing if we can swap it out. We'd apparently gotten lucky with the distros we tested with since even Manjaro Xfce and SuSE KDE had it installed. Appreciate the specifics on the distros you tried.

As an update for this issue, it turns out that the issue here is actually likely with KDE's Kwallet implementation.  Live Share already uses libsecret, but there are some well-known discussions about this not working with KDE's Kwallet.
See:

https://github.com/atom/node-keytar/issues/74
https://github.com/lbryio/lbry-desktop/issues/386
https://bugs.eclipse.org/bugs/show_bug.cgi?id=517110

Live Share would need to do a second implementation for KDE based distros to get this to work seamlessly.  Most other desktop environments use gnome-keyring or provide a secrets implementation that works with libsecret.

Hi, I'm facing this issue too. Any update?

Hello, have same issue, any update?

I just found

https://github.com/KDE/ksecrets
https://community.kde.org/KDE_Utils/ksecretsservice

and actually think this is a KDE upstream issue. Microsoft picked an existing open @FreeDesktop standard. It just has to be adopted by @KDE.

That's true.
But exactly the same of remmina could be done here..
Remmina provides a default plugin for secret-service, but still you can use also a plugin for kwallet.

I just found

https://github.com/KDE/ksecrets
https://community.kde.org/KDE_Utils/ksecretsservice

and actually think this is a KDE upstream issue. Microsoft picked an existing open @freedesktop standard. It just has to be adopted by @KDE.

Closing this as external per the previous comments, and the fact that Live Share is already using libsecret and is only able to officially support a few Linux distros. Please re-open this if you're still running into issues and think this is something we need to investigate. Thanks!


Unrecognized function or variable 'sdpvar'.

Thanks for sharing your codes. However, when I try your code, I get the following error:
Unrecognized function or variable 'sdpvar'.

Error in lip3 (line 17)
v = sdpvar(1,1);

Error in coverage (line 70)
[X,v,m] = lip3(V,uav,uavSpeed,uavSetupTime,uavFlightTime,h,O);

You've got to install Yalmip toolbox in your matlab path.
sdpvar is used to define YALMIPs symbolic decision variables.
https://yalmip.github.io

Thanks for your prompt response. The issue has been solved.


[semantic-arc] Change StorageGuaranteesLoadVisitor::visitClassAccess to find borrow scope introducers using utilities from OwnershipUtils.h.

I added a new API into OwnershipUtils called
getSingleBorrowIntroducingValue. This API returns a single
BorrowScopeIntroducingValue for a passed in guaranteed value. If we can not find
such a BorrowScopeIntroducingValue or we find multiple such, we return None.
Using that, I refactored StorageGuaranteesLoadVisitor::visitClassAccess(...) to
use this new API which should make it significantly more robust since the
routine uses the definitions of "guaranteed forwarding" that the ownership
verifier uses when it verifies meaning that we can rely on the routine to be
exhaustive and correct. This means that we now promote load [copy] ->
load_borrow even if our borrow scope introducer feeds through a switch_enum or
checked_cast_br result (the main reason I looked into this change).
To create getSingleBorrowIntroducingValue, I refactored
getUnderlyingBorrowIntroucingValues to use a generator to find all of its
underlying values. Then in getSingleBorrowIntroducingValue, I just made it so
that we call the generator 1-2 times (as appropriate) to implement this query.

@atrick the biggest change in the patterns we support is not we can promote load [copy] -> load_borrow if our guaranteed base is switched or casted upon via switch_enums, checked_cast_br.
I.e. we can transform this:
switch_enum %0, bb1, bb2

bb1(%1 : @guaranteed $Klass):
   %2 = ref_element_addr %1 : $Klass, #Klass.aLetField
   %3 = load [copy] %2
   apply %f(%3)
   destroy_value %3
   ...

Into this:

switch_enum %0, bb1, bb2
bb1(%1 : @guaranteed $Klass):
%2 = ref_element_addr %1 : $Klass, #Klass.aLetField
%3 = load_borrow %2
apply %f(%3)
end_borrow %3
...

@swift-ci test

@swift-ci test source compatibility

@swift-ci benchmark

Performance: -O
Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

DataAppendDataSmallToSmall
3880
4340
+11.9%
0.89x (?)

Improvement
OLD
NEW
DELTA
RATIO

DictionaryBridgeToObjC_Access
952
837
-12.1%
1.14x (?)

Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

DataAppendDataSmallToSmall
3940
4420
+12.2%
0.89x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

I am going to swing back around and clean this up a little bit/add some more comments/etc before this lands.

@swift-ci smoke test

@swift-ci benchmark

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

MapReduce
207
224
+8.2%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

PrefixArray
14
13
-7.1%
1.08x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

DropFirstCountableRange
16
18
+12.5%
0.89x (?)

Code size: -Osize
Performance: -Onone

Improvement
OLD
NEW
DELTA
RATIO

DataAppendDataSmallToSmall
3180
2960
-6.9%
1.07x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB


sendRequest URL changes to gracefully handle URLs w/ query parameters.

I hate using exception handling for flow control logic, but I don't fully understand the paths that lead to url not being a well-formed URL. I have used exception handling to trigger the legacy logic.
I verified unit tests are passing.

Closing as it seems as if you have plans for this issue.


ptls modules refactoring

Key changes:

Parallelization of preprocessing using the dask library
The preprocessing time on coles_emb demo was reduced from ~40 seconds to ~25 seconds. CPU: Ryzen 5600x.
Profiling

Refactoring the preprocessing module
The preprocessing time on the coles_emb demo was reduced from ~25 seconds to ~10 seconds. CPU: Ryzen 5600x.
Profiling

Refactoring of data loading modules
Improved code readability, optimized default parameters experimentally on alphabattle and gender scenarios (GPU: A6000, 3080), fixed bugs.

Encoder refactoring
Improved code readability, compatibility with new changes, optimization of some functions.

Result:
Reduced preprocessing time from 40 to 10 seconds. Improved code readability, updated typehints, optimized default parameters.

Хотелось бы везде иметь docstrings и typing (возвращаемый тип в том числе)


question: is project alive?

i am in moment of my life were I am eager to contribute.
so need to be sure project is alive.

Not alive enough to answer in the 14 hours between opening and closing the issue ;-)
It is alive in that we do process incoming issues and PRs, but AFAICT none of us maintainers does this as part of their job, so processing speed may vary depending on importance, urgency and available time.
Is there any particular topic in uX you'd like to address? Frankly, I think that if you have time to invest in making this better, look into what needs to be done to solve https://github.com/rust-lang/rust/issues/94970 item "rustc_attrs: rustc_layout_scalar_valid_range_start, rustc_layout_scalar_valid_range_end" -- that is the proper way to do what this crate merely provides a workaround for.


libblockdev: add gptfdisk as a dependency

Motivation for this change
Certain udisk2 operations (eg creating luks-encrypted ext4 volumes) require libblockdev to have access to the sgdisk utility. This change adds gptfdisk (which includes sgdisk) to libblockdev.
Fixes #62749.
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

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

Should fix things as proposed for gnome-disk-utility, note there's more utilities that are expected like this

https://github.com/storaged-project/libblockdev/blob/master/tests/utils.py#L72

Should fix things as proposed for gnome-disk-utility, note there's more utilities that are expected like this

I forgot to mention that gnome-disk-utility only seems to care about sgdisk (at least from this library). Creating various volume types, including btrfs and swap, all work after the change. gnome-disk-utility doesn't support creating LVM or RAID volumes.
There doesn't seem to be anything else in nixpkgs which would rely on further patching either. These are the reverse dependencies according to nix-review:

atom
atom-beta
cantata
clementine
clementineUnfree
far2l
gnome3.gnome-control-center
gnome3.gnome-disk-utility
gnome3.gvfs
gvfs
hal-flash
psensor
rabbitvcs
rapid-photo-downloader
spaceFM
udiskie
udisks
usermount
xfce.gigolo
xfce.gvfs

As far as I can tell none of them involve creating/formatting filesystems. So I think we're probably safe just to patch the sgdisk path, although I'm happy to include the other utilities in the patch for completeness if you'd prefer.
I'd also like it if this could be covered by tests, but without being able to predict new features I'm not sure how to do that effectively.

I'd also like it if this could be covered by tests, but without being able to predict new features I'm not sure how to do that effectively.

It appears that they need sudo

https://github.com/storaged-project/libblockdev/blob/c72b2bc7d904a83a916fc284aa66c1d9b9448977/Makefile.am#L124

Though that being needed isn't mentioned in the documentation I'd assume we couldn't run them without a vm in this case.

As far as I can tell none of them involve creating/formatting filesystems. So I think we're probably safe just to patch the sgdisk path, although I'm happy to include the other utilities in the patch for completeness if you'd prefer.

I mentioned

Wouldn't really make sense to carry a patch to hardcode everything though.

I'm assuming, and now with the information you've provided, this should be sufficient.
Just wanted to have a FTR that this possibility was addressed.


cis regulatory frameshift term [sf#140]

Reported by jenniferdaub on 2008-12-24 09:57 UTC
We would like to add a new term for cis regulatory frameshift elements such as http://en.wikipedia.org/wiki/Antizyme_RNA_frameshifting_stimulation_element
http://en.wikipedia.org/wiki/HIV\_Ribosomal\_frameshift\_signal
http://en.wikipedia.org/wiki/Coronavirus\_frameshifting\_stimulation\_element
aspect: sequence_attribute
term: cis_regulatory_frameshift_element
definition: structural region in an RNA molecule which promotes ribosomal frameshifting of cis coding sequence
Parent term: is_a sequence_secondary_structure (SO:0000122)
thanks
Jennifer Daub

Commented by eilbeck on 2009-01-09 22:28 UTC
Hi Jennifer,
How about this:
cis_regulatory_frameshift_element is_a regulatory_region
I see that the things you are annotating with this term are structures. Does it make sense that would would class  it as a region?
--Karen

Commented by jenniferdaub on 2009-01-19 13:19 UTC
Hi Karen
For the purposes of Rfam families it helps us to be able to tag a sequence region as having a structure with  function. We don't see a problem with it being in SO but but you/the ontology peeps might disagree?.
jen

Commented by eilbeck on 2009-01-22 20:25 UTC
Hi Jennifer,
I have added this as a kind of regulatory_region, and listed you as the person who defined it.
:o)
Karen

Updated by eilbeck on 2009-01-22 20:25 UTC

status: open --> closed-accepted


Handle network error gracefully on upload

Hello,
Using the official website, I'm currently on an unstable network, and simple files that are ~20MB each almost always results in Failed due to network error.
I was thinking it would be a good idea to handle gracefully these errors to not have to start over every time.
This can be done by resuming the upload, or splitting the file in multiple chunks (of configurable-at-upload-time size?) and send each chunk one after the other, with retries if needed..
I know it'll not resolve itself overnight, but this might help the future me or someone else!
Thank you for anything you (or anyone else) can do about this!

This would be a nice addition indeed. The current behavior is to error out and clean up incomplete uploads, so some development to both the javascript and the endpoint on the server side would be needed.
I'd be happy to review a pull request for this in https://github.com/espebra/filebin2/, but I'll probably not implement this myself.

Are you starting over with filebin2 ?

Yes. I want to have a database to persistently store metadata and use s3 to store file content. Introducing these changes in the existing codebase without breaking backwards compatibility would have been too much work, so I started in a new repository. Much of the code is the same and the HTTP API is the same.

I'm closing this in favor of https://github.com/espebra/filebin2/issues/17


HTML minification removes whitespace between inline tags

For example:
Be aware that the Darkness can overtake other tiles and even
your buildings (removing them from the board) unless you have a Light Tower
nearby. A building that is covered by Darkness does not score points
or contribute to points of other Tiles.

Turns into
Be awarethat theDarknesscan overtake other tiles and even
your buildings (removing them from the board) unless you have
aLight Towernearby. A building that is covered byDarknessdoes
not score points or contribute to points of other Tiles.

It's the option collapseInlineTagWhitespace: true, it should be false.


Nullability annotations for Swift not included

Your framework rocks, but when using Swift I'm unsure if certain values can be nil. Could you add nullability annotations in your next release?
Thanks!

:+1: to this. Thanks @kenmaz.

PRs welcome :) The latest release adds generics which helps. I'd love to improve this though.

@soffes
Merged latest master branch to my PR and resolved some conflict.
https://github.com/soffes/SAMKeychain/pull/131/commits/96a0814a2e91a9f36b592919ff175ec121772d22
Please merge me !
https://github.com/soffes/SAMKeychain/pull/131

Merged #131! Thanks @kenmaz! :heart:


Physically incorrect acceleration calculation

The computation of the acceleration in this line should be dividing by p.w() instead of multiplying:
https://github.com/illuhad/hipSYCL/blob/4ff58f347d7bbdcf56704d2d011ecde7fa9dc621/examples/bruteforce_nbody/bruteforce_nbody.cpp#L183
Since F = ma, solving for a gives a = F/m = r/(R^3 m).
Alternatively, model.hpp line 91 could set w to be an inverse mass, 1/std::abs(sampled_particle.w()).

nevermind - this is the gravitational equation so the mass is correct.  Sorry, I'm a chemist.