Segmentation fault (core dumped)

Hello!
After rebooting a dedicated server, I'm getting Error setting rlimit.. Do you have any solutions?
Regards

Actually, the issue above is that I tried to run it from non-root user, lol.
As I tried again, on a fresh installed OVH Ryzen 7 with 5.4.0-90-generic I experienced the following issue:
root@ns3169717:/home/ubuntu# xdpfw
Loaded XDP program in DRV/native mode.
Segmentation fault (core dumped)

Can we find the issue somehow?

Hey @OpenSource03,
Are you able to run gdb to see if you can retrieve a backtrace (you can install it on Debian/Ubuntu via apt install gdb usually)?
You should be able to run:
gdb xdpfw

Afterwards, you'll be in the GDB interactive terminal. From there, you should be able execute run to execute the program. Once/if the program seg faults, you should be able to see the address it's seg faulting on along with some data. If you can, run bt to retrieve the backtrace and paste the results here if you can.
Can you also provide the outputs from /etc/xdpfw/xdpfw.conf?
Thank you!

Hello! Sorry for the delay.
Starting program: /usr/bin/xdpfw
Loaded XDP program in DRV/native mode.

Program received signal SIGSEGV, Segmentation fault.
0x000000000041f93f in main ()

interface = "enp1s0f0";
updatetime = 15;

filters = (
    {
        enabled = true,
        action = 1
    }
);

Could be due to OVH's very weird network setup?
Here's my /etc/netplan/50-cloud-init.yaml
network:
    version: 2
    ethernets:
        enp1s0f0:
            accept-ra: false
            addresses:
            - 2001:41da:800:142e::/56
            dhcp4: true
            gateway6: 2001:41da:800:14ff:ff:ff:ff:ff
            match:
                macaddress: l0:50:99:dt:ae:c3
            nameservers:
                addresses:
                - 2001:41d0:3:163::1
            routes:
            { . . . unimportant }
            set-name: enp1s0f0

^^ Some of the addresses above are faked for security reasons.
Could that be due to dhcp4 that it's using to retrieve the ipv4 address or something...?

Hey and no worries! I doubt the NetPlan config is the issue here and the XDP Firewall doesn't try to retrieve anything like IP addresses, gateway IPs, and so on.
I tried installing the XDP Firewall on a vanilla Ubuntu VM with the config you have. However I did not have a seg fault.
I see it actually loads the XDP program itself using the DRV hook. How long does it take for the program to seg fault afterwards?

Hey, if you can, may you also change the line here:
https://github.com/gamemann/XDP-Firewall/blob/master/Makefile#L33
To:
$(CC) -O0 -g $(LDFLAGS) $(INCS) -o $(BUILDDIR)/$(XDPFWOUT) $(LIBBPFOBJS) $(OBJS) $(SRCDIR)/$(XDPFWSRC)

The -g and O0 flags allows for more debugging symbols. Afterwards, do make && sudo make install and then run gdb again along with retrieving the backtrace via bt.
Thank you!

Hey @OpenSource03,
I just wanted to follow up to see if you've read my previous replies regarding the segmentation fault issue.
Thank you!

Hello there.
I'm incredibly sorry for the delay, completely forgot. Take a look at the logs below:
root@ns3169717:/home/ubuntu/XDP-Firewall# gdb xdpfw
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from xdpfw...
(gdb) run
Starting program: /usr/bin/xdpfw
Loaded XDP program in DRV/native mode.

Program received signal SIGSEGV, Segmentation fault.
0x000000000041f93f in main (argc=1, argv=0x7fffffffe628) at src/xdpfw.c:505
505                     allowed += stats[i].allowed;
(gdb) bt
#0  0x000000000041f93f in main (argc=1, argv=0x7fffffffe628)
    at src/xdpfw.c:505
(gdb)

Regards

If you want and have time, I can send you details of the machine so you can test it there.
Should you need that, just let me know about your email/discord or any other communication method you may prefer.

Hey @OpenSource03! No worries on the delay!
This is very strange behavior. I wasn't able to replicate the seg fault itself in my test environment, but I did push a commit (see it referenced above) that has the stats array allocated with the max CPU limit (256) and then the for loop only loops through the CPU count itself. I also check if the index in the stats array is NULL and if it is, skip that CPU ID and log to stderr.
Would you be able to try this commit? You can do git pull to retrieve the latest commit. You shouldn't need to reset anything since I didn't make any changes to the Makefile, but if it complains, you can just do git reset --hard before git pull. If possible, please keep the flags I mentioned above (-g -O0) in the Makefile before compiling and use gdb to launch the program again.
Thank you!

Hi, take a look at this. Yes, I can run the app one time where I get the error above. Now, if I try to do so again, I'll get the error below. The only way to get it back working is to reboot the machine.
libbpf: Kernel error message: XDP program already attached
Could not attach with DRV/native mode (Device or resource busy)(-16).
libbpf: Kernel error message: native and generic XDP can't be active at the same time
Could not attach with SKB/generic mode (File exists)(-17).
Error attaching XDP program :: File exists (17)

This also translates to the following in qdb:
(gdb) start
Temporary breakpoint 1 at 0x41eb79: file src/xdpfw.c, line 297.
Starting program: /usr/bin/xdpfw

Temporary breakpoint 1, main (argc=1, argv=0x7fffffffe628) at src/xdpfw.c:297
297         struct cmdline cmd =
(gdb) bt
#0  main (argc=1, argv=0x7fffffffe628) at src/xdpfw.c:297

The solution from #9 doesn't work in my case. Guess that it's because it's accessing XDP in native mode.
Also, is simply git pull (which btw works) and make && make install enough to process the update? Or something else may be needed as well?

Also, I'm surprised that it's saying libbpf: Kernel error message: XDP program already attached as I did only run it in qdb, which said that it "killed" the process as I exited it.

Hey @OpenSource03,
The program itself attaches the XDP/BPF program to the interface. It needs to be cleaned up manually via this line:
https://github.com/gamemann/XDP-Firewall/blob/master/src/xdpfw.c#L535
However, since the program is seg faulting for you before this line, it never gets to this point.
Thankfully, you do not need to restart the machine every time to detach the XDP program. Instead, you can use the following iproute2 command(s) as root to detach the XDP program from the interface.
# For unloading the XDP program in DRV mode (what it appears you'll want to run).
ip link set <interface> xdpdrv off

# For unloading the XDP program in SKB mode.
ip link set <interface> xdpgeneric off

Would you be able to use the run command in gdb instead of start? It appears to be making a temporary breakpoint for some reason.
Also, can you provide the output of the following commands?
# Kernel version.
uname -r

# OS details.
cat /etc/*-release

# Clang version.
clang --version

# LLC/LLVM version.
llc --version

As for testing on your server, we can do that if you'd like! My Discord tag is christian_#5073. I do want to see if I can replicate it on a VM first once I gather the details from above! Feel free to DM them to me on Discord after adding me if you aren't comfortable sharing them here.
Thank you!

Hello there.
The latest commit fixed the issue. I've seen the changes and those seem pretty minor, but let's guess that the use of MAX_CPUS may have been the solution...
Thanks!


Fix linting

Fix linting errors on master. This PR also reorders the ternary condition so that it is easier to understand. https://github.com/zeit/hyper/pull/1360/files?w=1 will show the non-whitespace changes

There's no linting errors on master. Just execute yarnbefor launching tests.

@chabou There is something wrong with the linter. On my machine on master:
  lib\components\tabs.js:32:11
  ×  32:11  Expected indentation of 8 spaces but found 10.   indent
  ×  33:13  Expected indentation of 10 spaces but found 12.  indent
  ×  54:13  Expected indentation of 10 spaces but found 12.  indent
  ×  59:11  Expected indentation of 8 spaces but found 10.   indent

  4 errors

On CI, with this PR:
  lib\components\tabs.js:32:9
  ×  32:9   Expected indentation of 10 spaces but found 8.   indent
  ×  33:11  Expected indentation of 12 spaces but found 10.  indent
  ×  54:11  Expected indentation of 12 spaces but found 10.  indent
  ×  59:9   Expected indentation of 10 spaces but found 8.   indent
  4 errors
npm ERR! Windows_NT 6.3.9600

execute yarn on your machine then yarn run test. Everything will be ok I think.

@chabou Why in the world would running yarn vs npm make a difference

Maybe npm installis ok too, I don't know.
I had same linting error than you.
I launched yarnand some packages was installed/updated: no more linting error.

@chabou Fair enough, I'll try :fire:ing my npm packages and rerunning

Nope. Still broken. Running on a clean checkout gives me the same errors (after I nerf the thousands of linebreak-style errors)
Running with yarn gives me a different set of errors:
  app\system-context-menu.js:1:26
  ×   1:26  Unable to resolve path to module winreg.                     import/no-unresolved

  app\notify.js:4:23
  ×   4:23  Unable to resolve path to module electron-is-dev.            import/no-unresolved

  app\session.js:5:30
  ×   5:30  Unable to resolve path to module default-shell.              import/no-unresolved
  ×  15:19  Unable to resolve path to module pty.js.                     import/no-unresolved

  app\plugins.js:7:24
  ×   7:24  Unable to resolve path to module electron-config.            import/no-unresolved
  ×   9:26  Unable to resolve path to module shell-env.                  import/no-unresolved

  app\config.js:7:23
  ×   7:23  Unable to resolve path to module electron-is-dev.            import/no-unresolved
  ×   8:22  Unable to resolve path to module gaze.                       import/no-unresolved
  ×   9:24  Unable to resolve path to module electron-config.            import/no-unresolved

  app\index.js:11:21
  ×  11:21  Unable to resolve path to module electron-squirrel-startup.  import/no-unresolved
  ×  17:21  Unable to resolve path to module electron-squirrel-startup.  import/no-unresolved
  ×  22:19  Unable to resolve path to module electron-squirrel-startup.  import/no-unresolved
  ×  33:31  Unable to resolve path to module git-describe.               import/no-unresolved
  ×  35:31  Unable to resolve path to module file-uri-to-path.           import/no-unresolved
  ×  36:23  Unable to resolve path to module electron-is-dev.            import/no-unresolved

I think the confusion is that I fixed this already? Cause I ran into it last night. Should be good now. Thanks @paulcbetts

@rauchg Yep, confirmed fixed now, thanks


[CanOSSALifetime] Respect access scope on flag.

For most uses, some access scopes must be "respected"--if an extended value's original lifetime originally extends beyond an access scope, its canonicalized lifetime must not end within such scopes (although ending before them is fine).  Currently, to be conservative, the utility applies this behavior to all access scopes.
For move-only values, however, lifetimes end at final consumes without regard to access scopes.
Add a flag to the utility to control this behavior.
rdar://104635319

@swift-ci please test

It looks like the computation is only ever done lazily in extendLivenessThroughOverlappingAccess already.  Although the move checker does get the shared NonLocalAccessBlockAnalysis from the PassManager, NonLocalAccessBlocks::compute doesn't get called unless extendLivenessThroughOverlappingAccess is called.  So there's no real performance cost to the move checker.
Because a nullable parameter rather than a flag is slightly more subtle, I have a slight preference for the flag, but happy to make the change if you'd prefer.

@swift-ci please test

Dropped the flag and only ran the extension over access scopes when the analysis is passed in as you suggested, @atrick.  Maybe more subtle, but with fewer bad states (like respectAccessScopes=true, accessBlockAnalysis=nullptr).

@swift-ci please test

@swift-ci please test windows platform


nuxt generate: WARNING in asset size limit

Hey there,
I have around 10 json files filled with posts. I only load one of those json files in the application at the beginning (commited into the store). The others are there for pagination (clicking on next page loads next json file filled with posts).
Now I'm trying to build static html files with nuxt generate and i get this following warning:
WARNING in asset size limit: The following asset(s) exceed the recommended size limit (300 kB).
This can impact web performance.
Assets:
  app.491c5707d886bb0422e7.js (828 kB)

I see that all 10 json files are being loaded inside this generated app.js file, which makes it huge, but the data from these posts is also being stored inside each of the created static html files.
I wonder why this is happening, am I missing something?
Maybe i don't get it right, but I don't know why the data from the store is in each static html file, but also in the app.js which each static file is loading.
Many thanks in advance!

@husayt Well this was not really resolved though... I would love to see a solution for this.

@Jones-S
have you try to run your build in analyze mode ?
see https://nuxtjs.org/api/configuration-build#analyze
have you declare your shared vendors in nuxt.config.json ?
see https://nuxtjs.org/api/configuration-build#vendor

if you really can't split your code in smaller chunks... your last option is to increase the max chunk size limit.
// nuxt.config.file
  build: {
    maxChunkSize: 300000
  },

see example: https://github.com/nuxt/nuxt.js/blob/dev/examples/vue-chartjs/nuxt.config.js#L11

Thanks @NicoPennec for your answer.
I did indeed do that. I did not know that nuxt was capable of doing that out of the box (nice to know :D), but I included the webpack bundle analyzer manually.

You can see the posts (which are split into smaller json-packages (we always take 10 posts)) account for a big part of the final size of our app.js.
Making the chunk size bigger is really the very last option, I would like to take.
We would like to load only the data of the first 10 posts into the app.js and load the others only when clicking on the pagination links. unfortunately nuxt generate does include them all somehow...

@limichange
I think I already do that like this:

export function getData (type, lang) {
  return axios
    .get(`/data/${type}.${lang}.json`, {
      transformResponse: [].concat(
        axios.defaults.transformResponse,
        normalizeWordpress,
        flattenACF
        // transformDataHoweverYouWant
      )
    })
    .then(res => res.data)
}

But that didn't change anything on the app.js size after nuxt generate.

You should not put your json files in the /static folder.
create an /posts folder on root folder of your nuxt project, with your json files inside.
then expose this file as an API
or
load data from your store / page
import post from<EMAIL_ADDRESS>

@FabianEllenberger in case of generate, you are hitting this API on the serverside, and loading the JSON into store/data, then serializing the store/data and sending it to the client.
It's not the JSONs that are being shipped, it's the data inside the JSONs, I would assume.
Are you using 'spa' mode?

@qm3ster probably the JSONs are being shipped because they live inside the static folder like mentioed above by @NicoPennec. I'm not using the spa mode, it's just weird that every generated html includes all data of every single post, i think that's not how id should be. I'll try it with the spa mode and move the JSONs outside the static folder, thanks and i'll comment my progress here!

@FabianEllenberger That may not be quite as bad as it looks, because the clientside navigation never fetches another html, just new js for other routes.
If the JSONs, eg for a mock API, live in static, then yeah, they will get shipped in the dist folder of course.
The data inside HTML is indicative of an architectural mistake though - it means that all posts are loaded to display any page (even in non-ssr mode). Properly deferring and limiting preloading other posts' data would prevent this.
This does raise an interesting question, since ideally one would like to not even load the current post's data in duplicate, but I guess that's the price of SSR + hydration.

O what :pizza:
Look at this spicy boy right here!
<template lang="pug">
div(v-html="html" v-once)
div(v-html="html")
</template>

<script lang="ts">
import Vue from 'vue'
export default Vue.extend({
  data() {
    return {html: 'WOW SUCH CONTENT'}
  },
  mounted() {
    setTimeout(() => (this.html = ''), 0)
  },
})
</script>

@qm3ster @limichange and @NicoPennec thanks you guys! I had an architectural mistake and tried to load the JSONS differnetly or from different positions in the repo. After your tips i was able to fix it with the following:
I made another folder inside the static folder called posts. Now I'm fetching each post separately through ´axios.get()´ which works just fine now. The problem was that I had another JSON file in the same folder as the posts, which was being fetched on initial load, so it included the complete folder with all posts. Now that the posts are in a separate folder it works like expected :-)


Import notifications not working

Name of Defective Feature
System Settings (Required)
ToolKit Version:
Operating System (Mac/Windows/Etc):
Browser (Chrome/Firefox/Safari):
Browser Version:
Other Extensions:
Export of Toolkit Settings (Bottom Left of Settings Page)

Settings Export
[paste settings here]

Steps to Reproduce the Behavior

Expected Behavior

Based on the Show Import Notifications in Sidebar setting of "On-Red Indicator Color", I expected the accounts with transactions ready for import to be identified in red as they have in the past.  This issue existed in v 1.1.9 and persists in 1.2.0
Actual Behavior

The import link at the top of each account shows whether there are transactions to import and once I click import, the imported transactions show up in the sidebar in blue as they should.  There is no sidebar notification in red for transactions that need to be imported.

Paste your settings as requested so we know which features are active and what they're set to.

System Settings:
ToolKit Version: 1.2.0
Operating System (Mac/Windows/Etc): Windows 10 Pro
Browser (Chrome/Firefox/Safari): Chrome
Browser Version: Version 61.0.3163.79 (Official Build) (64-bit)
Other Extensions: Google Slides, iCloud Bookmarks, IE-On-Chrome, Skype Calling
Toolkit Settings:
[{"key":"AccountsDisplayDensity","value":"2"},{"key":"AccountsEmphasizedOutflows","value":false},{"key":"AccountsStripedRows","value":true},{"key":"AdditionalColumns","value":true},{"key":"AdjustableColumnWidths","value":true},{"key":"AutoCloseReconcile","value":false},{"key":"BetterScrollbars","value":"0"},{"key":"CategoryActivityCopy","value":true},{"key":"ChangeEnterBehavior","value":true},{"key":"CheckNumbers","value":false},{"key":"ColourBlindMode","value":false},{"key":"CustomFlagNames","value":false},{"key":"DisplayTargetGoalAmount","value":"0"},{"key":"GoalWarningColor","value":false},{"key":"HideAgeOfMoney","value":false},{"key":"HideReferralBanner","value":true},{"key":"ImportNotification","value":"2"},{"key":"PrintingImprovements","value":true},{"key":"PrivacyMode","value":"2"},{"key":"RemovePositiveHighlight","value":true},{"key":"RowHeight","value":"0"},{"key":"RowsHeight","value":"3"},{"key":"RunningBalance","value":"1"},{"key":"ShowCategoryBalance","value":true},{"key":"SquareNegativeMode","value":true},{"key":"StealingFromFuture","value":true},{"key":"TargetBalanceWarning","value":true},{"key":"accountTransactionSearch","value":true},{"key":"accountsClearSelection","value":true},{"key":"accountsDisplayDensity","value":"2"},{"key":"accountsEmphasizedOutflows","value":true},{"key":"accountsRowHeight","value":"0"},{"key":"accountsSelectedTotal","value":true},{"key":"accountsStripedRows","value":true},{"key":"activityTransactionLink","value":true},{"key":"betterScrollbars","value":"0"},{"key":"budgetBalanceToZero","value":true},{"key":"budgetProgressBars","value":"both"},{"key":"budgetQuickSwitch","value":false},{"key":"budgetRowsHeight","value":"3"},{"key":"calendarFirstDay","value":"0"},{"key":"categoryActivityPopupWidth","value":"2"},{"key":"changeEnterBehavior","value":true},{"key":"checkCreditBalances","value":true},{"key":"checkNumbers","value":false},{"key":"closeReconcileWindow","value":false},{"key":"collapseExpandBudgetGroups","value":true},{"key":"collapseSideMenu","value":true},{"key":"colourBlindMode","value":false},{"key":"compactIncomeVsExpense","value":true},{"key":"currentMonthIndicator","value":true},{"key":"daysOfBuffering","value":true},{"key":"daysOfBufferingHistoryLookup","value":"6"},{"key":"editButtonPosition","value":"0"},{"key":"enableRetroCalculator","value":true},{"key":"enlargeCategoriesDropdown","value":true},{"key":"enterInRegisterNow","value":true},{"key":"exportTransactions","value":false},{"key":"goalIndicator","value":true},{"key":"goalIndicatorWarningColor","value":true},{"key":"googleFontsSelector","value":"1"},{"key":"hideAOM","value":false},{"key":"hideAccountBalancesType","value":"0"},{"key":"hideHelp","value":false},{"key":"highlightNegativesNegative","value":false},{"key":"importNotification","value":"2"},{"key":"incomeFromLastMonth","value":"1"},{"key":"l10n","value":"0"},{"key":"largerClickableIcons","value":true},{"key":"monthlyNotesPopupWidth","value":"2"},{"key":"navDisplayDensity","value":"2"},{"key":"options.dark-mode","value":false},{"key":"pacing","value":"0"},{"key":"popupCalculator","value":true},{"key":"printingImprovements","value":true},{"key":"privacyMode","value":"2"},{"key":"reconciledTextColor","value":"4"},{"key":"removePositiveHighlight","value":true},{"key":"removeZeroCategories","value":false},{"key":"reports","value":true},{"key":"resizeInspector","value":true},{"key":"rightClickToEdit","value":true},{"key":"runningBalance","value":true},{"key":"seamlessBudgetHeader","value":false},{"key":"showIntercom","value":true},{"key":"spareChange","value":false},{"key":"splitKeyboardShortcut","value":true},{"key":"splitTransactionAutoAdjust","value":true},{"key":"squareNegativeMode","value":true},{"key":"stealingFromNextMonth","value":true},{"key":"swapClearedFlagged","value":false},{"key":"toBeBudgetedWarning","value":false},{"key":"toggleSplits","value":true},{"key":"toggleTransactionFilters","value":"2"},{"key":"warnOnQuickBudget","value":true}]

Thanks. Will try to take a look in the next few days.

@ztoups I can't recreate the bug you've reported even when using your exact settings. As expected I see the import notification in blue or red depending on the feature setting.
Red:

Blue:

Are you still seeing the issue?

David,
It seems to be working correctly now.  Thanks for looking into it.
Zach
From: David Baldon<EMAIL_ADDRESS>Sent: Sunday, September 17, 2017 1:56 PM
To: toolkit-for-ynab/toolkit-for-ynab<EMAIL_ADDRESS>Cc: ztoups<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [toolkit-for-ynab/toolkit-for-ynab] Import notifications not working (#930)
@ztoups https://github.com/ztoups  I can't recreate the bug you've reported even when using your exact settings. As expected I see the import notification in blue or red depending on the feature setting.
Red:
https://user-images.githubusercontent.com/11460228/30523901-96ec2c9e-9baf-11e7-9b7c-f7e69507eacf.png
Blue:
https://user-images.githubusercontent.com/11460228/30523907-c1df956c-9baf-11e7-8b77-d3d531f5f3a8.png
Are you still seeing the issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/930#issuecomment-330071986 , or mute the thread https://github.com/notifications/unsubscribe-auth/Aee2p_of-hAWu7gAy0BkXVzVF4yHxN_mks5sjWssgaJpZM4PXsUk .  https://github.com/notifications/beacon/Aee2p7BtnZ9LD9YcHOBkAFMTNspcWSKTks5sjWssgaJpZM4PXsUk.gif

@ztoups thanks. I'll close the issue but feel free to reopen if necessary.


Nothing happens when I click "Install"

Followed the instructions at https://pdnsmanager.lmitsystems.de/quickstart/ (but on CentOS) and got to the installation page. Filled in all of the fields, but absolutely nothing happens when I click the "Install" button. There is no activity in the browser or on the server.

Tried with the latest versions of both Firefox and Chromium, no plug-ins.
Tried with both versions 1.2.1 and 1.2.0 with the same results.
Did a web search; only one irrelevant result.
Don't see anything that would help on here.

Does anyone have any ideas?
Craig

I realise that this isn't a community discussion forum, but this is all that I've found for PDNS Manager.

Have you tried all the things mentioned in #41 ? Access rights and stuff like that.
If that does not help, look at the PHP error logs if they contain some information. And either look on the network tab from the developer options to see what requests are fired or make a HAR file, a description can also be found linked in #41.

Thanks for your replies. Looking at #41 I can say that the permissions on the server are all fine and there is not a parallel installation of Poweradmin on the server. I don't expect there to be anything in the logs on the server because nothing happened when I clicked "Install", but I'll have a look and experiment with permissions.
I will try to do that and create that HAR file in the next couple of days.
One odd thing did happen that might help: I gave up and shut down, and when I went back the next day I clicked the "Install" button with no data entered in any of the fields, just to see what would happen, although I expected nothing to happen. This time there was a reaction, to tell me that I was missing required data, of course. So I entered all of the information, but again, with all of the necessary information present, the "Install" button didn't work again.

This looks like a problem with the server. The validation is done locally in JavaScript but if there are no errors an ajax call to the server is issued, maybe here is some error checking missing. But for that to tell it would be useful to see which requests are done.

CentOS 7 comes with PHP 5.4 in its repositories.
When following most howto's for installing apache / PHP under CentOS you end up with this version.
You might very well find "PHP Fatal error:  Call to undefined function password_hash() in /var/www/html/pdnsmanager/api/install.php on line 120"

PHP5.4 does not support password_hash(), it is not available until 5.5.
pdnsmanager's install page doesn't properly handle a 500 HTTP status code and doesn't relay this to the user.
pdnsmanager doesn't verify the version of PHP nor the existence of the required modules.

If this is the case for you: try upgrading the CentOS PHP version to 5.5 (or 7.1)
I fixed my issues on CentOS by doing the following:
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm sudo yum remove php-cli mod_php php-common sudo yum install -y mod_php71w php71w-cli php71w-common php71w-gd php71w-mbstring php71w-mcrypt php71w-mysqlnd php71w-xml php71w-mysqlnd sudo systemctl restart httpd
Hope this helps you out.

@kib Thanks for mentioning that, I didn't have in mind that CentOS 7 actually still has those old versions that are not supported since late 2015 anymore.
I recommend updating to at least PHP 5.6 (though 7.1 is even better).
I hardly discourage using PHP 5.5 as it is not supported anymore.
Regarding the handling of a HTTP 500: This will be handled in the 2.0 release if I have the time, if not I hope to get it into the 2.1 release
Regarding the verification of the PHP version and modules: This will be added in version 2.0


[AIRFLOW-3246] Make hmsclient import optional

Jira

Jira issue: AIRFLOW-3246

Description
Currently to use anything from hive_hooks.py you must have hmsclient installed, which is inconsistent: thrift imports are made inside the get_metastore_client method, and hnsclient is imported outside (and it does thrift imports internally).
Tests
Not sure if tests needed for this change.
Documentation
Code Quality

Hi @gseva , as long as it's a code change, a JIRA ticket would be needed.

Please also prepend “[AIRFLOW-]” in your commit subject.
You can refer to other PRs.

@XD-DENG Done, thanks for the tips

@gseva the tests are failing

Codecov Report

Merging #4080 into master will decrease coverage by 62.86%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           master    #4080       +/-   ##
===========================================
- Coverage    78.1%   15.23%   -62.87%
===========================================
  Files         201      199        -2
  Lines       16471    15974      -497
===========================================
- Hits        12864     2433    -10431
- Misses       3607    13541     +9934

Impacted Files
Coverage Δ

airflow/hooks/hive_hooks.py
0% <0%> (-75.27%)
:arrow_down:

airflow/www_rbac/validators.py
0% <0%> (-100%)
:arrow_down:

airflow/utils/log/es_task_handler.py
0% <0%> (-100%)
:arrow_down:

airflow/example_dags/subdags/subdag.py
0% <0%> (-100%)
:arrow_down:

airflow/www/validators.py
0% <0%> (-100%)
:arrow_down:

airflow/example_dags/example_docker_operator.py
0% <0%> (-100%)
:arrow_down:

airflow/example_dags/example_subdag_operator.py
0% <0%> (-100%)
:arrow_down:

airflow/api/common/experimental/get_dag_runs.py
0% <0%> (-100%)
:arrow_down:

airflow/www/forms.py
0% <0%> (-100%)
:arrow_down:

airflow/operators/postgres_operator.py
0% <0%> (-100%)
:arrow_down:

... and 166 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 3bd8595...57cdda3. Read the comment docs.

@ron819 Just rebased into master, seems like build is successful now.


Prisma 1.7

https://www.prisma.io/docs/reference/upgrade-guides/upgrading-prisma/upgrade-to-1.7-iquaecuj6b

Done


Progress bar

please add progress bar till next level on the highscores (lookup on player) similar to

this.

This was already added.


2.0.33 to 2.0.34 update - all feeds disappeared

after installing 2.0.34 no feed content was displayed - the feed/left pane was ok (folders/feed sources intact) except the unread counts were absent, the headline/center pane was empty as was the right/content pane
i downgraded to .33 and had the same issue
i then exported the feeds, both smart and opml, cleared all ext. data, updated to .34 and imported the smart feed - got an error and nothing was imported - then i imported the opml file and that was ok - everything returned to normal
however in trying to reproduce the smart import error, i deleted all ext. data again and re-imported - this time there was no error, but again both headline and content panes were empty and the unread counts were missing
at this time i am unable to import feeds - it appears the import is successful (i can export feeds) but nothing is displayed in the headline and content panes - refreshing feeds also appears to work, but nothing is displayed
note that i disabled my custom css for troubleshooting
there are no browser console errors

okay, this is really weird as I've been importing both types multiple times, using persistent data across commits and even already updated extension on my stable profile and nothing like that happened even once, but I'll do my best to figure it out and in the meantime I'll stop distribution of 34
can you tell me what is the exact browser version you're using?

stable 66.0.5 on linux
the smart import error i was trying to reproduce was something like 'undefined db' or something - i might suggest not putting a lot of time into this until i can troubleshoot more - it may be an issue on my end

okay, few questions then:

do you have any extension managing WebAPIs installed? (it uses IndexedDB to store data as other types of storage have unclear size constrains)
was it maybe in the private window?
do you have some restrictive privacy settings applied?

even if it was something unrelated to my changes I'd like to figure it out and at least create some basic FAQ/Troubleshooting document
what's weird is that SMART import failed for you, it was actually broken for a few versions but I noticed it and fixed it (I believe) in the 34, will look into this again to be sure

just to keep you updated: I found one bug that prevented feeds from being updated (typo, to be honest I have no idea why static analysis haven't marked that) but now I'm double checking everything else I touched lately, I'm sorry for inconvenience

do you have any extension managing WebAPIs installed? (it uses IndexedDB to store data as other types of storage have unclear size constrains)

very likely

was it maybe in the private window?

no

do you have some restrictive privacy settings applied?

absolutely :) i use a modified ghacks user.js + my own, however i don't disable IDB storage and i allow JS and everything else for the extension scheme
so i tested in a clean profile, but just once, and couldn't reproduce the problem of content not displaying, but i think that was with .33 - so then i went back to me default profile and again couldn't reproduce the problem which is why i didn't test more (yet) and why i assumed my extensions and prefs weren't the cause - this was all done previously as described
there shouldn't be anything messing with IDB storage - i allow that with uMatrix and Site Bleacher shouldn't do anything with extensions - i don't use a cookie manager since bleacher does all that
i think i'll duplicate my profile and try to repeat what i did - like i suggested, i wouldn't be too worried until i test more - nice that you found a lil bug though :)

I'm absolutely positive that I messed up updates with this version so you don't have to dig further
Now I have just one more issue that I may not be able to solve quickly: importing SMART somehow triggers GC and when it finishes it's impossible to access sources collection, fortunately everything works just fine after reloading the extension so for now I'll just add this as a workaround

Okay, I just published new version on AMO, it should be available shortly

great that you found a problem and i see you already pub'd a new version
since i already did some additional troubleshooting i'll just leave this here in case it's of any use...
.34
no feed content
clear all data
import smart: ok
feeds updating
no feed content
clear all data
import opml: ok
feeds updating
no feed content
clear all data
uninstall
del<EMAIL_ADDRESS>del /extensions/staged
reinstall .33 (since .34 no longer available)
import smart: Importing error: TypeError: this.db is undefined
import opml
all is ok

right, there was SMART import issue for a few versions and that one typo was corrected in 34, but few others remained unfortunately
thanks for your feedback, closing this now since it's resolved

.35 seems to be ok on my default profile - yippy!
.35
all ok with existing feeds and refreshing them
remove all data
import smart
all good!
i'll let you close this ... and thanks !!!

there's one inconvenience left with this issue: multiple of my sources redownloaded removed articles, possibly due to cleanup performed when no new articles were returned on failed load, I'm sorry for this

not a biggie, but yeah, i have 2,285 unread articles LOL
what you could do also is add an option to cap the number of articles downloaded per feed - probably not very useful for existing users, but might be good for 1st time installs??? - which raises another issue - even if auto-updating is disabled, feeds still auto-update when importing - i'll create a new issue if you like

I'm not sure about the cap since it's impossible to request smaller portion of data in most cases, if it's in the downloaded document it makes sense to parse and save it I think (and you rarely see sources storing a lot of articles in their feed).
Currently update occurs only after OPML: import since I had to disable it due to SMART issues, but I see your point, feel free to submit an issue


crash after recent commits: assert manifold_w * manifold_h == num_images

Got problem while saving the samples:
Traceback (most recent call last):
  File "main.py", line 97, in <module>
    tf.app.run()
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "main.py", line 80, in main
    dcgan.train(FLAGS)
  File "/home/prota/Downloads/DCGAN-tensorflow-master/model.py", line 298, in train
    save_images(samples, image_manifold_size(samples.shape[0]),
  File "/home/prota/Downloads/DCGAN-tensorflow-master/utils.py", line 249, in image_manifold_size
    assert manifold_w * manifold_h == num_images
AssertionError

manifold_w == 8 while manifold_h == 64. should be both 8 if images are 64?

I suppose there is also a pull request for this.

hi , I meet this problem also,do you find way to solve this problem?

ha I find it! the batch_size must be set as nn,such as 16(44),64(8*8,default)or other.   otherwise the assert will throws the exception. but I don't know why.

Replying to a very old topic here, but I wanted to quickly document this solution for the issue. I'm working on implementing another project that is based on DCGAN-tensorflow.

ha I find it! the batch_size must be set as n * n,such as 16(4 * 4),64(8*8,default)or other. otherwise the assert will throws the exception. but I don't know why.

n*n for batch_size didn't work for me. Tried 4 & 16 with both crashing soon into training with the assertion error.
However, setting sample_size to (n * n) did work for me. I used 16(4*4) for that test and the training fully completed. That was also with batch_size set to 1 just to rule that out completely. I haven't tested other sizes for sample_size yet.


Fix IE incompatibility bug (#513)

This PR

adds extra hash algorithms in the outgoing CertificateRequest
adds the necessary capability to handle CertificateVerify
refactors the parts of the TLS module wherever it is necessary

Adding extra  hash algorithms in the outgoing CertificateRequest is necessary, because without them Internet Explorer choses not to send the client certificate in some cases.

@andresag01 , thank you for the feedback! I think I have addressed all the issues, could you please check if you are satisfied with the result?

This PR was merged manually and released in mbedtls-2.4.0 and the PR was accidentally forgotten and never closed, so closing now.


why sell order amount not equal to buy order ?

fees..

if it annoys you, you can buy like 10usd worth of BNB and change binance settings to pay fees with BNB

But it still remains in my wallet ?

if it annoys you, you can buy like 10usd worth of BNB and change binance settings to pay fees with BNB

Hey @miwtoo

But it still remains in my wallet ?
That is remaining in your wallet and you can convert to BNB with small residue amounts of coins.

See see the code https://github.com/chrisleekr/binance-trading-bot/blob/master/app/jobs/trailingTrade/step/place-buy-order.js#L76.
It calculates 10% from quantity for commission. It does not calculate BNB amount even if you choose to.
Even if you try to sell from the Binance app, I found it leaves small amounts.
Anyway, if it is answered, please close the issue.

Thanks you 😁


Something went wrong issue

Hello,
I have external links within my app, and when I click those links, I get that notification saying Something went wrong. Also, the page displays this message:
net::ERR_NOT_FOUND or something like that
Any idea what may be causing this?

I'm not sure if you are on Emulator or Actual device but I think it's missing Default Browser because in project's variable settings ext. links are supposed to call default browsers to handle the request.
One more thing, does the app also crashes?

Yes, the app gets crashed and that notification message saying Something went wrong still remains visible. I had to reboot my device because of that because it appears on top of everything and I couldn't use the keyboard properly.

Any idea how to solve this?

do you have any default browser on the device?

No, but it doesn't happen only to me, it happens on all devices. Already received a lot of 1 star reviews on Play Store because of that.

oh man! sorry for your loss!
Can you give me your apps play store URL?

Is there a way I can send it to you in private? I don't want to make it public available here.

email me -<EMAIL_ADDRESS>

It's the redirects who are causing error in your app.....you need to fix that!

Hey @mgks , this is happening with me as well, where onReceivedError method gets called multiple times thus leading a crash or making the app and phone unresponsive! Can you help me handle this?


Clustergrammar view doesn't fit

There are scroll bars ...

What was this problem again?

I dont think we can fix it anyway

The view tries to guess how big the window is, but it's too big so there are scroll bars. Even if you resize the window, it still has them since it resizes the view

Wont fix


Staircase search using c

Have you read the Contributing Guidelines on Pull Requests?
YES
Description
Added the code for Staircase searching using C language
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#5736

@bhav09, Please review this PR and add the required labels to it.


any updates

Hello
any updates on Python version 3.7?

Hello,
Yes, breaking news: Python 3.7 is outdated since Python 3.8 was released two days ago.
Sorry, for the sarcasm, but I don't understand why you ask such a question in the first place. AutoFolio was developed under Python 3.5, but you can also run it with Python 3.7.
Best,
Marius


AL List type needs a RemoveAll method

The AL List type (e.g., ListOfText : List of [Text]) does not have a method to clear its contents.
You are forced to use this ugliness -- ListOfText.RemoveRange(1, ListOfText.Count);
It needs a RemoveAll method.

Hi @quadfin ! Please use the CLEAR method. That is the AL way of resetting variables.

@atoader But does CLEAR internally set the list to null?  So the variable must then be reinitialized and the Garbadge Collector runs unnecessarily.
Remove all references from list and set a list to null are two diffrent things or not?

Understood, just logging this low priority stuff into the queue.
CLEAR() works but does not seem 'modern development'-ish (to me).
CLEAR() is C/AL legacy whereas List of [Type] is a new language feature so I kind of expected it to behave like a modern Collection -- similar to JsonArray (which has a RemoveAll)...
If you're also a .NET, Java, or other OO-language developer and you're in the process of banging out code in AL you just naturally assume such things -- when the language doesn't comply you have to momentarily refocus your thought on the issue -- oh yeah, C/AL, CLEAR(), note: applies to List, huh -- then get on with it.  Me thinks AL should strive not to bend that universe if possible.  My two cents.


K8s-Guestbook-IP

As a tenant, when I run the guestbook example I can easily reach the guestbook itself so that the platform is easy to introduce to new tenants
Additional Info: Currently, this needs /etc/host modifications and other workarounds. It should be possible to enable a good experience

Some thoughts.
Does this mean from an external host [ over a public ip ] or from within the k8s cluster?
If we assume that the k8s cluster is using fleet, we can separate the problem into two different pieces.
For this example assume that flannel is a private subnet of <IP_ADDRESS>/16 managed by flannel & k8s
nodes:
node0: <IP_ADDRESS>
node1: <IP_ADDRESS>
node2: <IP_ADDRESS>
run etcd on node0
cloudinit configuration for etcd2
#cloud-config

coreos:
  etcd2:
    advertise-client-urls: http://<IP_ADDRESS>:2379
    listen-client-urls: http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
    listen-peer-urls: http://<IP_ADDRESS>:2380
    proxy: off

  units:
    - name: etcd2.service
      command: restart
      enable: true

flannel drop in for cloudinit [systemd]
  drop-ins:
    - name: 50-network-config.conf
      content: |
        [Service]
        ExecStartPre=-/usr/bin/etcdctl --peers=<IP_ADDRESS>:2379 set /coreos.com/network/config '{ "Network": "<IP_ADDRESS>/16" }'
        [Install]
        WantedBy=multi-user.target

coreos-cloudinit --from-file etcd.yaml
$ for node in $(etcdctl ls --recursive /coreos.com/network); do echo ${node} $(etcdctl get ${node} 2>/dev/null); done
/coreos.com/network/config { "Network": "<IP_ADDRESS>/16" }
/coreos.com/network/subnets
/coreos.com/network/subnets/<IP_ADDRESS>-24 {"PublicIP":"<IP_ADDRESS>"}
/coreos.com/network/subnets/<IP_ADDRESS>-24 {"PublicIP":"<IP_ADDRESS>"}
/coreos.com/network/subnets/<IP_ADDRESS>-24 {"PublicIP":"<IP_ADDRESS>"}

These are directly routeable via the host routing table
$ ip r
default via <IP_ADDRESS> dev eth0  proto dhcp  src <IP_ADDRESS>  metric 1024
<IP_ADDRESS>/24 dev eth0  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS> dev eth0  proto dhcp  scope link  src <IP_ADDRESS>  metric 1024
<IP_ADDRESS>/16 dev flannel0  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS>/24 dev docker0  proto kernel  scope link  src <IP_ADDRESS>

So flannel fixes container to container and host to containers connectivity via ip.

continuing on
{
"HOME": "/",
"HOSTNAME": "guestbook-di4c6",
"REDIS_MASTER_PORT": "tcp://<IP_ADDRESS>:6379",
"REDIS_MASTER_PORT_6379_TCP": "tcp://<IP_ADDRESS>:6379",
"REDIS_MASTER_PORT_6379_TCP_ADDR": "<IP_ADDRESS>",
"REDIS_MASTER_PORT_6379_TCP_PORT": "6379",
"REDIS_MASTER_PORT_6379_TCP_PROTO": "tcp",
"REDIS_MASTER_SERVICE_HOST": "<IP_ADDRESS>",
"REDIS_MASTER_SERVICE_PORT": "6379",
"REDIS_SLAVE_PORT": "tcp://<IP_ADDRESS>:6379",
"REDIS_SLAVE_PORT_6379_TCP": "tcp://<IP_ADDRESS>:6379",
"REDIS_SLAVE_PORT_6379_TCP_ADDR": "<IP_ADDRESS>",
"REDIS_SLAVE_PORT_6379_TCP_PORT": "6379",
"REDIS_SLAVE_PORT_6379_TCP_PROTO": "tcp",
"REDIS_SLAVE_SERVICE_HOST": "<IP_ADDRESS>",
"REDIS_SLAVE_SERVICE_PORT": "6379",
}

All of the internal redirects that are dynamically inserted are
defaulting to ip addresses only visible to the private subnet for the
flannel members.
curl can connect to the services and members on their service ip / ports from a
member host.
From a remote host [ with port redirection and a exposing ports to a
public ip ] the guest book can be accessed, but it gives a waiting on
database connections message on the front end and the back end [info
link] gives an error.
The internal lookup for redis it appears isn't using the environment
variable for the ip address to resolve the service, rather a name
'redis-master' so for internal application discovery it seems like dns
needs to be enabled.

PANIC: dial tcp: lookup redis-master: no such host
goroutine 5 [running]:
github.com/codegangsta/negroni.func·003()
	/gopath/src/github.com/codegangsta/negroni/recovery.go:34 +0x10d

So it looks like for this step the guest book is assuming that the cluster has
dns enabled.

https://github.com/kubernetes/kubernetes/blob/v1.0.3/cluster/addons/dns/README.md
It appears that there was a missing parameter in the yaml for dns.
      - name: kube2sky
        image: gcr.io/google_containers/kube2sky:1.11
        resources:
          limits:
            cpu: 100m
            memory: 50Mi
        args:
        # command = "/kube2sky"
        - -domain=k8s.local
        - -kube_master_url=http://<IP_ADDRESS>:8080

Without the kube master defined there were errors in the log.
similar to this issue:
https://github.com/kubernetes/kubernetes/issues/12534
    - -kube_master_url=http://<IP_ADDRESS>:8080

But the example nslookup in a busybox cluster member pod fails.
kubectl exec busybox -- nslookup kubernetes

About service discovery. It depends which deployment you are used to preform testing. If you used this automation, then service discovery (kube-dns addon) must work OOB, if not - it's a bug.

I was using a non-standard install. It seems that this crosses over with #12 Automated IP Assignment - Design in that the problem described says there's a problem with dns, and I had been testing the default deployment of kubernetes + dns but dns resolution seemed to fail to work for the guestbook to contact redis-master [from the info error message].
If this is working OOB, should this be closed?


Even after remote region url is edited and set to a new value, there is a constant attempt made by metadata to reach the old rancher url.

Rancher versions:v1.6.13-rc6
Steps to reproduce the problem:
Deploy rancher servers for region1 and region2.
Have cross regions links between environments in region1 and region2.
Made region1's url unreachable and then changed region1's url to point to a new rancher url.
Metadata containers start using the new rancher url. But there is also constant attempt made to reach the old rancher url which keeps failing.

I am still able to not see the changes in region(url/keys) being picked up by the metadata services.
Reopening this issue.

I am kinda confused for 1 & 2, but how I think -  If SA account is deleted or its credentials are invalidated by deleting apiKeys, everything is going to function as it is but no new links can get created.
3. No, none of them will be allowed to edit.
4. Deleting a region entry should delete all the account links and agents. On recreating the entry, every thing should be back up and functional.
Need @alena1108 to confirm

Tested with v1.6.15-rc4
Region1 - with 3 environments
Region2 - with 3 environments
Deactivate Region1's api keys.
Try to create LB from region1 with targets in region2.
Environment links between the region1 and region2 succeed. This seems to be expected since region1 is still able to access region2.
Try to create LB from region2 with targets in region1.
In this case , I see the account_link stuck in "registering" in DB but environments link in metadata shows that region2 is connected to region1.
This should not be happening.
Reopening this issue to see why environments link in metadata shows that region2 is connected to region1 even though the account_links table shows it as being stuck in "registering" state.
Note - The reverse link from region1 to region2 was not created which prevents LB to be functional ( network policy prevents this). But LB gets programmed with all the targets which is not expected in this case.

Moving forward when I edit the region1 entry in region2 and set it to a new set of api keys , all the existing account_links to region1 gets removed.
But the links are not getting recreated because of this issue - https://github.com/rancher/rancher/issues/11407

Tested with latest build from 1.6 branch:
Steps to Reproduce:
Region1 - with 3 environments - test1region1, test2region1, test3region1
Region2 - with 3 environments - test1region2, test2region2, test3region2

LB in test1region1 linked to targets in test1region2

Instance in test2region1 linked to instances in test2region2

LB and instances work as expected.

Deactivate SA keys for region1

Try to create LB in test3region1 linked to targets in test3region2

LB gets created successfully . But it is not able to reach targets in region2 since there is no link created from test3region2 to test3region1. This is as expected.
But I also see that the previously created LB and links cross regions stop working which is tracked in https://github.com/rancher/rancher/issues/12082.

Try to create LB in test3region2 linked to targets in test3region1. This fails to get created which is as expected.

Create new api keys for the service account of region1.

Update region1 entry in region2 to point to correct values.

After this I see the following problems:

LB created in step 5 , does not become functional at all since the external links that failed to get created do not ever get recreated.

Tried to create a new LB service pointing to existing services cross region from region1 -> region2.
LB service has targets programmed but is not functional.

Tried to create a new LB service pointing to new services cross region from region1 -> region2.
LB service does not have even targets programmed. Seems like metadata is not even getting the new updates.

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


Refined GitHub logs errors that are unrelated to the extension

Hello. Long time ago I've asked about option to always show all workflows on the list instead of "Show more workflows...". Today I tried to use tempermonkey user script on Firefox as it was suggested by @fregante. Somehow click() breaks Refined github and do not show any other workflows after click was fired. Here is my userscript:
// ==UserScript==
// @name         GH show all workflows
// @namespace    http://tampermonkey.net/
// @version      2024-10-28
// @description  try to take over the world!
// @author       You
// @match        https://github.com/*/*/actions
// @match        https://github.com/*/*/actions/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=github.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    setTimeout(function () {
        console.log('DEBUG1');
        //document.querySelector('#item-e88427dd-7e28-4f08-8faf-e4e93bcfd992')?.click(); // DOING NOTHING
        //document.querySelector('#item-b6e7a6a9-5ec4-4a5b-a354-8dfd48be19e0 > span:nth-child(1)')?.click(); // DOING NOTHING
        //document.querySelector('#item-7fcf04b9-043f-4661-bef3-a698043a4e62 > span:nth-child(1) > span:nth-child(1)')?.click(); // DOING NOTHING
        document.querySelector('div.ActionListItem')?.click() // this "works" but breaks Refined Github
        console.log('DEBUG2');
    }, 2000);
})();

Console output:

Any idea how can I properly "click" on "Show more workflows..."?
Thank you.

Okay so I need to wait for new version of this extension. Did I get this right? Thanks

It doesn't affect your code, your code is just producing the error and Refined GitHub is showing your error.

Okay. I'm a bit confused. I do click() on div and it somehow produces this error. It is later catched by refined github. Did I understand this correctly?
Do you maybe know why it is producing error in first place? To me it is just simple click event and it should work just fine. How should I trigger it so it will not produce error? I'm not JS wizard so I'll be grateful for any suggestions on what I'm doing wrong here. Thank you.

I don't know either, you'd have to ask on stackoverflow or to whoever wrote that userscript.


[FEATURE] Able to run multiple deployments on a client machine using different install dir

Is your feature request related to a problem? Please describe.
The script is not able to on multiple install directory in parallel. I am not able to do two deploys at a time.
Describe the solution you'd like
I should be able to do more than 1 deployment using different install/config directory.
Describe alternatives you've considered
The problem is the ibmcloud CLI config is placed in HOME directory of current user. We can change that using environment variable IBMCLOUD_HOME=<install-dir>.
Additional context
The ibmcloud CLI config stores the current target CRN in ~/.bluemix/plugins/power-iaas/config.json making it diffult to run more than one deployment on different regions or service instances.

you can reuse the same approach used at https://github.com/rpsene/openshift-on-powervs-quick-deploy


styled-components messes with my IDE

Environment
OS:  macOS High Sierra 10.13.5
Node:  8.6.0
Yarn:  1.3.2
npm:  5.3.0
Watchman:  4.9.0
Xcode:  Xcode 9.4.1 Build version 9F2000
Android Studio:  3.1 AI-173.4697961
Reproduction
Use phpstorm/webstorm and have react-native imports like
import { View } from 'react-native';
Install styled-components with yarn
Check warnings on your imports. They now say

Cannot resolve symbol View

Expected Behavior
I expect that my components such as View and Text to still be resolvable like they were before installing styled-components.
Actual Behavior
Upon installing styled-components all of my imports from react-native are unable to be resolved.
Additional Notes
These IDE (phpStorm/webStorm) warnings seem to go away if I delete

/node_modules/styled-components/flow-typed/react-native.js

Something about this file interferes with my IDE even if I'm not importing styled-components into my project. Is it possible that there is some kind of encapsulation problem here?
This is a minor annoyance I wondered if someone knew the real cause or why this file is messing with my IDE.

Have you seen this? https://github.com/styled-components/webstorm-styled-components

Yeah I'm using that for syntax highlighting. But its nothing to do with killing my react-native imports.
I have automated the removal of the flow file that causes the problem. I just run this function with node

const fs = require('fs');

const removeFlowTyped = () => {
	const path = '../node_modules/styled-components/flow-typed/react-native.js';

	if (fs.existsSync(path)) {
		console.log('Found');
		fs.unlink(path, (err) => {
			if (err) throw err;
			console.log(path, ' was deleted');
		});
	} else {
		console.log('not found');
	}
};

removeFlowTyped();

It uses relative path so if others want to use this make sure your path is correct.

You can send a PR to update our npmignore file if you’d like. Then this will be excluded.

Hey folks, TS typings for styled-components have been moved to DefinitelyTyped, so please feel free to move your issue there where you'll receive better community support.


Icons: Carrot & Drumstick

Nice I love the style and simplicity.
Can you give small description for what kind of use cases we can use these icons?

@ericfennis I created these for use on a website for my school's lunch menu. I wanted some icons to represent the ordinary meal and the vegetarian alternative.

@Andreto Thanks for sharing, I think this is great use case. I can imagine that you can use this as well in restaurant websites or "menu" applications as well.


[DataFactory] Fix deserialize for SncMode in SapTableLinkedService

This is the fix for issue: https://github.com/Azure/azure-sdk-for-net/issues/45772

API change check
API changes are not detected in this pull request.

Close this pr since this is a service side issue.


Editing gcc's command.

Hello everybody. I'm looking for a way to change the gcc's flags because I want to make it more size efficient. How i can do that? Only edit nuitka's code? If yes, where this command is located?

Feel free to read the user manual.


PocketBase 404 with Dockerfile

Description
Users experience a PocketBase 404 (Not Found) error when accessing the frontend via the designated IP address, despite the backend working properly.
Steps to Reproduce

Clone the dockerfile
Build and run the Docker container using the dockerfile
Access the frontend using the designated IP address

Expected Behavior
Users should be able to access the frontend interface without encountering a 404 error.
Frontend View
Backend View

my bad I forgot to add /* after the dist folder, this should work:
FROM node:20.11.1-buster

WORKDIR /

RUN git clone https://github.com/Ilyas-Codes/eCourse.git

ARG PB_VERSION=0.21.3
ADD https://github.com/pocketbase/pocketbase/releases/download/v${PB_VERSION}/pocketbase_${PB_VERSION}_linux_amd64.zip /tmp/pb.zip
RUN unzip /tmp/pb.zip -d /eCourse/pb

WORKDIR /eCourse/ui

RUN sed -i 's/^VITE_PROD_PB_URL=.*/VITE_PROD_PB_URL=http:\/\/<IP_ADDRESS>:8090/' .env
RUN npm install
RUN npm run build
RUN mv dist/* /eCourse/pb/pb_public

EXPOSE 8090

CMD ["/eCourse/pb/pocketbase", "serve", "--http=<IP_ADDRESS>:8090"]

my bad I forgot to add /* after the dist folder, this should work:
....

Still not working @Ilyas-Codes, idk what I am doing wrong but I tried also with docker-compose (to just use the dockerfile because there is no image of ecourse on the docker hub)
Here's the log of the container
2024/02/28 21:26:09 Server started at http://<IP_ADDRESS>:8090
├─ REST API: http://<IP_ADDRESS>:8090/api/
└─ Admin UI: http://<IP_ADDRESS>:8090/_/

I've also tried to run the app on my windows machine and it works perfectly
C:\Users\Administrator\Desktop\eCourse\ui>npm run dev
><EMAIL_ADDRESS>dev
> vite
  VITE v5.1.4  ready in 1061 ms
  ➜  Local:   http://localhost:5173/

Shouldn't the dockerfile do the same? I'm not an expert of Docker, but I think that this app should have two images: one of the backend (pocketbase) and another one for the ui (vite). Maybe you can achieve this better with docker-compose

weird, I just tested it and it worked fine. can you redo everything from scratch? delete the container and image and redo the build again.

@Orohym here are the steps I followed with docker:

create a directory somewhere and name it whatever, add the Dockerfile I left in my first comment in there.
run: docker build -t image-name .
run: docker run -d -p 8090:8090 --name container-name image-name
navigate to localhost:8090

@Ilyas-Codes I replicated your steps and it works.
I was still copying the Dockerfile example from the Readme file and that was the reason it was not working. (😅)
Thank you

Not a problem :)


java.io.IOException: Unauthorized when publishing snapshot

My apologies if this is an issue unrelated to the plugin. If you decide so, feel free to close.
I tried publishing a few times, having ensured that the env properties in Travis are configured properly (I believe they are - even though I use a username to log in, and the readme mentions the email - I tried both but in the UI I use the username), but I'm always stuck at the step of sending the pom/jars:
[info] Packaging /home/travis/build/kubukoz/tagless-slick/core/target/scala-2.12/tagless-slick-core_2.12-9877d7d8-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[error] java.io.IOException: Access to URL https://oss.sonatype.org/content/repositories/snapshots/com/kubukoz/tagless-slick-core_2.12/9877d7d8-SNAPSHOT/tagless-slick-core_2.12-9877d7d8-SNAPSHOT.pom was refused by the server: Unauthorized
[error] 	at org.apache.ivy.util.url.AbstractURLHandler.validatePutStatusCode(AbstractURLHandler.java:79)
[error] 	at org.apache.ivy.util.url.BasicURLHandler.upload(BasicURLHandler.java:264)
[error] 	at org.apache.ivy.util.url.URLHandlerDispatcher.upload(URLHandlerDispatcher.java:82)
[error] 	at org.apache.ivy.util.FileUtil.copy(FileUtil.java:150)
[error] 	at org.apache.ivy.plugins.repository.url.URLRepository.put(URLRepository.java:84)
[error] 	at sbt.internal.librarymanagement.ConvertResolver$LocalIfFileRepo.put(ConvertResolver.scala:366)
[error] 	at org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
[error] 	at sbt.internal.librarymanagement.ConvertResolver$ChecksumFriendlyURLResolver.put(ConvertResolver.scala:118)
...
[error] 	at java.lang.Thread.run(Thread.java:748)
[error] (core / publish) java.io.IOException: Access to URL https://oss.sonatype.org/content/repositories/snapshots/com/kubukoz/tagless-slick-core_2.12/9877d7d8-SNAPSHOT/tagless-slick-core_2.12-9877d7d8-SNAPSHOT.pom was refused by the server: Unauthorized

One of my colleagues suggested to switch from openjdk to oraclejdk because of a possibility of missing certificates, and I did, but it didn't change anything.
Would you know of any way to fix this?
I tried these version configs:

scala
sbt
sbt-ci-release

2.12.7
1.2.3
1.2.1

2.12.6
1.1.6
1.1.2

Thanks for reporting! Can you reproduce by publishing the snapshot from your local machine with "sbt publish"? What if the version number if 0.1.0-SNAPSHOT? Also, please try 1.2.2 that changed the sbt settings to overwrite on publish.

Hi, thanks for taking a look at this! I updated to 1.2.2 (didn't help, unfortunately), and tried publishing 0.1.0 by tag (so a full blown release), as well as another 0.1.0-hash-SNAPSHOT but by merging a PR (I previously tried making snapshots by pushing straight to master, not sure if there's a difference but that's what you mentioned in the README). Sadly, to no avail :/
I'll try the local machine in the evening, but I'm not looking forward to it as the last time I had issues with incompatibilities of the old and new gpg keyring format.

Have you double triple checked the SONATYPE_USERNAME and SONATYPE_PASSWORD environment variables?

I'll try the local machine in the evening, but I'm not looking forward to it as the last time I had issues with incompatibilities of the old and new gpg keyring format.

You don't need pgp setup to publish snapshots. sbt publish is enough, it's only stable releases that require publishSigned that calls pgp.

I got it!
Apparently having special characters in a password requires escaping, but I was wrapping the whole string in ", whereas it's single quotes ('pass?word'). So, yeah, I'm publishing artifacts now - thanks a lot!

Glad it worked out! I updated the readme to mention escaping of special characters in SONATYPE_PASSWORD f5db3c93c2d36f27c75487649dc16dab862bbbca and also added an entry in the FAQ including the error message b7b2a41bba987083a71feffc184704370faf9151


[SPARK-34033][R] SparkR Daemon Initialization

What changes were proposed in this pull request?
If your worker function has a lengthy initialization, and your
application has lots of partitions, you may find you are spending weeks
of compute time repeatedly doing something that should have taken a few
seconds during daemon initialization.
Every Spark executor spawns a process running an R daemon. The daemon
"forks a copy" of itself whenever Spark finds work for it to do. It may
be applying a predefined method such as "max", or it may be applying
your worker function. SparkR::gapply arranges things so that your worker
function will be called with each group. A group is the pair
Key-Seq[Row]. In the absence of partitioning, the daemon will fork for
every group found. With partitioning, the daemon will fork for every
partition found. A partition may have several groups in it.
All the initializations and library loading your worker function manages
is thrown away when the fork concludes. Every fork has to be
initialized.
The configuration spark.r.daemonInit provides a way to avoid reloading
packages every time the daemon forks by having the daemon pre-load
packages. You do this by providing R code to initialize the daemon for
your application.
Examples
Suppose we want library(wow) to be pre-loaded for our workers.
sparkR.session(spark.r.daemonInit = 'library(wow)')

of course, that would only work if we knew that library(wow) was on our
path and available on the executor. If we have to ship the library, we
can use YARN
sparkR.session(
  master = 'yarn',
  spark.r.daemonInit = '.libPaths(c("wowTarget", .libPaths())); library(wow)',
  spark.submit.deployMode = 'client',
  spark.yarn.dist.archives = 'wow.zip#wowTarget')

YARN creates a directory for the new executor, unzips 'wow.zip' in some
other directory, and then provides a symlink to it called
./wowTarget. When the executor starts the daemon, the daemon loads
library(wow) from the newly created wowTarget.
Warning: if your initialization takes longer than 10 seconds, consider
increasing the configuration spark.r.daemonTimeout.
Why are the changes needed?

Performance
Does this PR introduce any user-facing change?

Yes. It introduces two new sparkR session parameters as described above.
How was this patch tested?

Test was added: test_daemon_initialization.R
It has been in production for several months now at Target where it has saved years of compute time.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

can we have something like spark.python.daemon.module and spark.python.worker.module to allow custom worker and daemon instead?

No. Those configurations put a lot of responsibility on the user. Further, it is very prone to breakage due to changes in Spark.
What this PR proposes is a narrow thing: initializing the daemon. It doesn't change the logic of either the daemon or the worker.

can we have something like spark.python.daemon.module and spark.python.worker.module to allow custom worker and daemon instead?

No. Those configurations put a lot of responsibility on the user. Further, it is very prone to breakage due to changes in Spark.
What this PR proposes is a narrow thing: initializing the daemon. It doesn't change the logic of either the daemon or the worker.

@WamBamBoozle, both configurations spark.python.daemon.module and spark.python.worker.module came out to cover a lot of stories. For example, do something like post-hoc, initialisation, wrapping the computation, etc. I would definitely like to avoid adding each configuration for each case.

@WamBamBoozle, both configurations spark.python.daemon.module and spark.python.worker.module came out to cover a lot of stories. For example, do something like post-hoc, initialisation, wrapping the computation, etc. I would definitely like to avoid adding each configuration for each case.

Greetings @HyukjinKwon
Thanks so much for your review!
I'm looking at python/test_coverage/coverage_daemon.py
I agree that spark.python.daemon.module is more general and more powerful than what I am proposing. This PR is for fixing one thing, whereas what you did was a very general solution to a different problem. I don't want to warn my users that this is for advanced users only. The concept is simple: put your initialization code here.
I propose we provide

spark.r.daemon.finalize
spark.r.daemon.initialize
spark.r.worker.finalize
spark.r.worker.initialize

where the value of each of those are strings of R code
that way we've achieved the same ends you have without forcing the user to understand the minutia of how and what to load. If you agree, I will change this PR to be the implementation of spark.r.daemon.initialize (instead of what it is now, spark.r.daemonInit). I would then open another ticket to implement the other flags.

Greetings @HyukjinKwon
Thanks so much for your review!
I'm looking at python/test_coverage/coverage_daemon.py
I agree that spark.python.daemon.module is more general and more powerful than what I am proposing. This PR is for fixing one thing, whereas what you did was a very general solution to a different problem. I don't want to warn my users that this is for advanced users only. The concept is simple: put your initialization code here.
I propose we provide

spark.r.daemon.finalize
spark.r.daemon.initialize
spark.r.worker.finalize
spark.r.worker.initialize

where the value of each of those are strings of R code
that way we've achieved the same ends you have without forcing the user to understand the minutia of how and what to load. If you agree, I will change this PR to be the implementation of spark.r.daemon.initialize (instead of what it is now, spark.r.daemonInit). I would then open another ticket to implement the other flags.


Wrong link to docker hub

Hey, the link to the docker image here: https://www.tremor.rs/getting-started/starting/#get-tremor gives me a 404.
This is the URL that it currently points to: https://hub.docker.com/r/tremor/tremor

hi thanks fort reporting this, the link should point to https://hub.docker.com/r/tremorproject/tremor :) will fix!

fixed once the page rebuilds, thanks again.

Would you mind also adding more details on the dockerhub page? Currently the overview is empty, would be great to at least have information about the distro that the image is based on :)

good point, added it as a todo at https://github.com/wayfair-tremor/tremor-runtime/issues/109


CI Pipeline Implementation

All Submissions:

[YES] Have you followed the guidelines in our Contributing document?
[YES] Have you added an explanation of what your changes do and why you'd like us to include them?
[N/A] I have updated the documentation accordingly.
[NO] I have added tests to cover my changes.
[N/A] All new and existing tests passed.
[YES] My code follows the code style of this project.
[NA] I ran lint checks locally prior to submission.
[YES] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

What is the current behavior?

This change implements the build pipeline described in issue number: https://github.com/microsoft/cobalt/issues/203
This change adds a build pipeline that can be leveraged by clients of Cobalt.
More specifically, this change adds the following features as called out
in the design for https://github.com/microsoft/cobalt/issues/178.
The features implemented are as follows:

Check out test harness from cobalt repo
Log into ACR hosting test container image via service principal
Build test harness
Log out of ACR hosting test container
Execute template unit and integration tests
Publish scripts from cicd and build folders as build artifacts

The implementation relies on the following variables defined as pipeline
variables. Note, no keyvault variables are needed.

Variable Name
Description

AD_SP_SUBSCRIPTION_ID
Subscription ID used to execute terraform commands

AD_SP_TENANT_ID
Tenant ID used to execute terraform commands

AGENT_POOL
Pool in which to run build pipeline

ASE_NAME
Name of static ASE used for testing

ASE_RESOURCE_GROUP
Name of static RG used for testing

ASE_VNET_NAME
Name of static VNET used for testing

BASE_IMAGE_ACR_HOST
Host of ACR hosting test harness base

BASE_IMAGE_ACR_SERVICE_CONNECTION_NAME
Service connection name to authenticate to BASE_IMAGE_ACR_HOST

PIPELINE_SERVICE_CONNECTION
Name of service connection for pipeline

REMOTE_STATE_ACCOUNT
Remote state storage account name

REMOTE_STATE_CONTAINER
Remote state storage container

Closed - will be in another PR


What happens with the daily limit

Hello!
If I create a transmission with a recipient list which has around 30K emails, what will happen with the rest of 10K since we have only 20K daily ?
Expected behavior would be to send 20K today, 20K tomorrow and so on. What will actually happen ?

At the moment any transmissions sent over the daily or monthly limit are rejected by SparkPost. See this support article for more details.

Ok thank you for the reply.
What would be a good way to deal with this ?

The best solution is, as stated in the support article, "consider splitting your send to accommodate the limits." Like you outlined in your question, send 20K today, 20K tomorrow and so on.

Any improvements on this?
Doint this manually on the client side means

fetching entire recipient list
splitting recipient list
performing multiple POST requests with a lot of data that could be avoided.

It is error prone and IMO and anti pattern.
It would be absolutely cool having an option to do this split on the sparkpost side.
Considering it is currently possible to schedule messages, I think we are kind of half way on this ;)

Hei! Back in the days when I have posted this ( Can't believe It's been 7 months ), I have manages to do it on my own.
You could simply create a scheduled task and do everything in the backend after cluent is gone so he does not have to wait. Server to server POST in cURL is quite fast rather than server -> client -> sparkpost -> client results.
I have created my own small NoSQL DB based on JSON files which i am more than happy to share ( though it is not perfected to handle any errors or over limit ).
Regards!


Tests precleanup flag

add Test.preCleanup flag when set to true will run tearDown before running setup.
the k8s_tests make use of the flags, all other test have not changed (as flag is false by default).

run skydive-functional-tests-backend-orientdb

run skydive-functional-tests-backend-orientdb

run skydive-functional-tests-backend-orientdb

I would prefer to add a "Setup" step executed before anything else that you could use in order to call the tearDown related tasks ?

This pattern of tearDown before setup is very common and if implemented by
default (currently disabled by default) would support the rerunning of
tests and would eliminated the need to run scrips/ci/cleanup.sh
On Fri, Jul 20, 2018, 11:38 Sylvain Afchain<EMAIL_ADDRESS>wrote:

I would prefer to add a "Setup" step executed before anything else that
you could use in order to call the tearDown related tasks ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skydive-project/skydive/pull/1192#issuecomment-406562564,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACogI8PhO-Gk1eH57GjcA8J0ABEBDQAVks5uIbMOgaJpZM4VWl_E
.

only newly added ppc test is failing - kindly merge

run skydive-ppc64le-tests


nixos/caddy: Caddy puts state in /var/lib/caddy/{.local/share/caddy,.config/caddy}

Describe the bug
Due to Caddy having wacky defaults for its configuration dirs (using xdg dirs for a system service), the service puts its state in hidden directories that are oddly structured.
https://caddyserver.com/docs/conventions#data-directory
The fix here is probably to set XDG_DATA_HOME to /var/lib/caddy. And, undocumentedly, probably XDG_CONFIG_HOME as well.
Steps To Reproduce
Steps to reproduce the behavior:

services.caddy.enable = true;
Run caddy.
ls -l /var/lib/caddy
??? where is anything. it's hidden?

Expected behavior
Caddy should not store things in wacky hidden directories.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Notify maintainers

pkgs.caddy maintainers:
@Br1ght0ne @emilylange @techknowlogick
nixos module maintainers: not listed! another bug
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "aarch64-linux"
host os: Linux 6.1.77, NixOS, 24.05 (Uakari), 24.05.20240207.f8e2ebd
multi-user?: yes
sandbox: yes

Add a :+1: reaction to issues you find important.

Thanks for the question/issue about the Caddy package for Nix; but... can I respectfully ask what is "wacky" about using XDG vars for resource paths?
We follow what is rather conventional for modern Unix systems, and the the Go standard library does essentially the same logic for choosing config, cache, and home folders.

??? where is anything. it's hidden?

It is not hidden, it is documented right on the page you linked to and in some of the logs Caddy emits, too.

Thanks for the question/issue about the Caddy package for Nix; but... can I respectfully ask what is "wacky" about using XDG vars for resource paths?

The wacky thing here, which I've never seen with any other service, is imitating the hidden (in a literal sense) directories one would see in a home directory, for a system service. This is mildly annoying for administration.

We follow what is rather conventional for modern Unix systems, and the the Go standard library does essentially the same logic for choosing config, cache, and home folders.

As I understand it, the XDG directories spec was not expected to be used on system services and thus its default subdirectories are unusual for system services.

??? where is anything. it's hidden?

It is not hidden, it is documented right on the page you linked to and in some of the logs Caddy emits, too. You can also discover paths using caddy environ.

By hidden I mean literally the paths have dots at the start of directory names.

the XDG directories spec was not expected to be used on system services

Huh, that's news to me. Is [this](the XDG directories spec was not expected to be used on system services) the right spec? Can you just show me where it says that it is not for system services?
What problems is the current code causing?

Worth mentioning that a change to the default at this point would cause user's data to get lost or improperly cleaned up if care isn't taken to move the data on upgrade. (I don't have a horse in this race, I'm not a Nix user, just mentioning that this is a sensitive change since Caddy's storage is the server's certs/keys.)

the XDG directories spec was not expected to be used on system services

Huh, that's news to me. Is [this](the XDG directories spec was not expected to be used on system services) the right spec? Can you just show me where it says that it is not for system services?
What problems is the current code causing?

The primary issue is confusion due to unexpected hidden directories, which aren't at all typical practice for system services.
The base directory spec is full of references to "user specific state" or similar kinds of things that strongly imply it's not intended to be used for system services. If you read the systemd.exec man page under StateDirectory, there's a table of used directories and the xdg spec is only used for user services there.
It's not a problem(tm) that the layout is this way but it will confuse every single user who is looking for the certs (which I'm also unsure if the layout has any stability guarantee in regards to that) at least once, before they figure it out. We could migrate to something different on new values of system.stateVersion, for example.
Concretely we would probably set XDG_DATA_HOME deliberately such that it would be in /var/lib/caddy/data instead of /var/lib/caddy/.local/share/caddy, and likewise for XDG_CONFIG_HOME.

I would like to clarify that migrations like there are not an issue in nixpkgs/NixOS and can be handled appropriately without data loss :)

Setting XDG_DATA_HOME=/var/lib/caddy/data means that the data would be in /var/lib/caddy/data/caddy which is pretty weird too.
I'm not really sure if this is a good idea, but we could do like this:
systemd.services.caddy = {
  environment = {
    XDG_DATA_HOME = "/var/lib";
    XDG_CONFIG_HOME = "/var/lib";
  };
};

Then data will be stored directly in the /var/lib/caddy.
This would imply removal of the ability to override the state dir location, I don't think that's much of a loss.
XDG_CONFIG_HOME can be removed if we somehow set persist_config off.
Would be nice if caddy added some other way to set state directory, some special env variable that takes precedence over the XDG directories would be good, like the one in caddy v1.
According to the man systemd.exec systemd sets $STATE_DIRECTORY env variable automatically depending on the StateDirectory service entry, caddy can add support for it, preferring it over XDG dirs, but it means that they will have to do migrations on their side, has benefit as the other distros will have the same location too then.
Also note that caddy is not the only service that creates dot dirs like that, here are some examples from my own server:
~
! l /var/lib/jibri
total 44K
drwxr-xr-x 3 993 990 4.0K Feb 18  2022 .cache
drwx------ 4 993 990 4.0K Feb 18  2022 .config
drwx------ 2 993 990 4.0K Feb 18  2022 .icewm
drwx------ 3 993 990 4.0K Feb 18  2022 .pki
-rw-r--r-- 1 993 990  552 Feb 18  2022 .asoundrc
-rw-r--r-- 1 993 990   16 Feb 18  2022 icewm.preferences
-rw-r--r-- 1 993 990   10 Feb 18  2022 jibri.conf
-rw-r--r-- 1 993 990 1.7K Feb 18  2022 logging.properties
-rw-r--r-- 1 993 990  490 Feb 18  2022 pjsua.config
-rw-r--r-- 1 993 990 6.7K Feb 18  2022 xorg-video-dummy.conf

~
! l /var/lib/acme
total 12K
drwxr-xr-x 4 acme acme 4.0K Aug 31  2021 .lego
drwxr-x--- 2 acme acme 4.0K Aug 21  2021 .minica
drwxr-x--- 2 acme acme 4.0K Mar 28 16:24 redpilled.dev

~
! l /var/lib/terraria
total 8.0K
drwxr-xr-x 3 terraria terraria 4.0K Jan 20 14:06 .local
drwxr-xr-x 2 terraria terraria 4.0K Apr 26 15:44 worlds

That's just a minority of services though, and that is not the correct convention.
Actual convention is described in the man file-hierarchy or man hier, you can read it here: https://man7.org/linux/man-pages/man7/file-hierarchy.7.html
You can clearly see it being split into "user packages" and "system packages".
We would need to support both options at the same time, choosing which one to use depending on the system.stateVersion, and will optionally need to provide migrations, sometime later we can remove that logic.
So overall this is not exactly a trivial change for something so trivial.

I found that you can actually configure data dir location from the config: https://caddyserver.com/docs/caddyfile/options#storage
So you can do for example storage file_system {$STATE_DIRECTORY}
or storage file_system ${config.services.caddy.dataDir}
Although it still creates /var/lib/caddy/.local/share/caddy/instance.uuid
and /var/lib/caddy/.config/caddy/autosave.json for some dubious reason.
Has downside that it would require user to configure it to if he specifies services.caddy.configFile

Although it still creates /var/lib/caddy/.local/share/caddy/instance.uuid
and /var/lib/caddy/.config/caddy/autosave.json for some dubious reason.

The former is because this is created before the config is loaded, because it stores an random instance ID (created once, reused there-on) for tracking which Caddy instance is doing what in certain scenarios where Caddy is clustered.
The latter (autosave.json) is stored in the config storage directory, which does not follow data storage config. See https://caddyserver.com/docs/conventions#file-locations which explains the difference. This file is Caddy's last config; this isn't particularly useful if you use a Caddyfile, but if you use Caddy's API for making config changes, it's vital to ensure you don't lose you config changes performed via the API, when Caddy restarts. You can turn this off with https://caddyserver.com/docs/caddyfile/options#persist-config if you want.


Change artifact format slightly in v1.0

Right now the artifact contains "bytecode", which has ASM-formatted bytecode. Because there are multiple ways to represent bytecode as ASM (multiple ASM representations), it is probably better to have "bytecode" be hex-formatted. Then we can add an "asm" field for users to read it easily.
We could add a few lines of code to the CashScript SDK / utils library to be backwards compatible with the old format.
If we wanted to be completely backwards compatible, we could also leave the old "bytecode" field as-is and add a new "bytecodeHex" field (to be used by libraries).
I personally think it is kind of OK to do some backwards incompatible stuff with the artifact format in v1.0 if it means the format is "cleaner" going forward.
Would love to hear more opinions on this.

this idea of having bytecodeHex in the Artifact goes against the idea of #214 to enable template variables in the contract asm
I don't think having the hex there adds much value, instead it makes more sense to me to not have duplicate info in the artifact and make the asm include templated variables

what could be interesting to add to the Artifact is a contract's fingerprint, this is a hash of the contract logic (minus the data pushes).
Here's a longer explanation:

By transforming sequences of data push operations into normalized count indicators, and applying a hash function to the resulting pattern, we create unique fingerprints that identify contract types regardless of their specific parameter values.
This method facilitates efficient contract classification, analysis, and discovery, while maintaining the ability to reconstruct and filter individual contract instances based on their parameters.

There's more details on the research forum: Smart Contract Fingerprinting: A Method for Pattern Recognition and Analysis in Bitcoin Cash


Bug in Pylance's IntelliSense

Issue Type: Bug
I am a beginner to Python programming and recently started coding in Python with Visual Studio Code. Today, as I was learning about the Python's "json" package, I found a bug in the in the Pylance's IntelliSense. The "json" package has a method called "json.loads()" which parses the json code in to a Python dictionary. Since this dictionary is a object, the IntelliSense gives you hints about all the available methods and properties. But this didn't happened as expected for me. Here's my scenario, I had my json code as a string in variable called jsonCode and then paresed it and stored the resul with this line
"someData = json.load(jsonCode)"
Then, if do something like "someData." the IntelliSense doesn't give hints about the available functions or attributes.
However, if I change the value of "myData" to a hard coded Python dictionary, then it works and gives you the hints.
This is really troubling me in exploring Python with IntelliSense.
Please fix this issue as soon as possible.
Extension version: 2021.8.2
VS Code version: Code 1.59.1 (3866c3553be8b268c8a7f8c0482c0c0177aa8bfa, 2021-08-19T11:56:46.957Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz (4 x 1992)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
11.91GB (6.54GB free)

Process Argv
--crash-reporter-id 79477b55-3597-4aa7-bcd1-15326f638757

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805:30301674
pythonvspyt200:30340761
vscextlangct:30333562
binariesv615:30325510
vsccppwtct:30329789
pythonvssor306:30344512
bridge0708:30335490
vstre464:30350172
bridge0723:30353136
javagetstartedc:30351792
vsdyn420:30354109

No, the return type of method loads depends on the string passed into, for example:
import json

json.loads('1')  # int
json.loads('1.0')  # float
json.loads('true')  # bool
json.loads('[1, 2, 3]')  # list
json.loads('{"1": 1, "2": 2, "3": 3}')  # dict

https://github.com/microsoft/pylance-release/issues/1699#issuecomment-902689503
Thank you very much for helping. Actually I learnt something new with your reply but, that's not my problem. I think I didn't describe the problem properly in the complain. Let me share the Code such that anyone can try it themselves.
Code:
import Jason
jsonCode = '''
{
"name": "Yusuf Kazi",
"Hobbies": "Programming",
"isABeginner": True
}
'''

Pylance uses type information to inform completion suggestions (aka Intellisense). If you right click on the loads symbol and choose "Go To Declaration", you'll see the type information that Pylance is using in this case.
The json module is part of the Python standard library, and the type information for the standard library comes from the Python community — in particular, from the typeshed github repo.
In this particular case, the function json.loads is annotated with a return type of Any, which means that the return type cannot be determined statically. It's known only at runtime (when you run the code in the interpreter) because it varies depend on the input values.
If you happen to know the return type, you could use a type declaration like this:
result: dict[str, Any] = json.loads(jsonCode)
# Pylance knows that `result` is a dict at this point
print(result.values)

By doing so, you are declaring that the variable named result has a dictionary type that is indexed by strings.
If you are using json.loads to parse arbitrary input (e.g. data read from a file), then your code should not assume the return type. It could be a dictionary, a list, a string, etc. In that case, you would need to perform dynamic (runtime) checks to determine its type.
result = json.loads(jsonCode)
if isinstance(result, dict):
    # Pylance knows that `result` is a dict at this point
    print(result.values)
elif isinstance(result, list):
    # Pylance knows that `result` is a list at this point
    print(len(result))

https://github.com/microsoft/pylance-release/issues/1699#issuecomment-902818732
Ok
It works actually,
But the answer is kinda difficult to wrap my head around it 😅
BTW, Thank you very much for your answer Mr. erictraut


Nested JSON parse isn't works

          Ignacio,

Since the email response does not support markdown format, I am resending the message with the inclusion of images:
"
Hi Ignacio,
Thank you for your response! But unfortunately I still haven´t been able to make it work. I tried a set of possible combinations for this JSON parse! Below is a list of these attempts:
A  "Random User" data type from JSON, as suggested by you:

And the API Call knowin that the endpoint will provide a list of Random
Users inside the field "results":

Then I called the API in column component:

An the ListView, I tried to parse to DataType:

However, I get the following error:

Then, I created a following data type:

And adjusted the API:

And adjust listview:

The error is solving, but didn´t work yet:

I tried the other combinations of adjustments, for example, turn on the checkbox Is List in the API, but it didn't work.
The only way I could make it work was using a flat JSON structure, without nested JSON structure! I would really appreciate it if you could give me a step-by-step guide on how to make a nested JSON parse works!
"
Thanks in advance,
Rober
Originally posted by @rmrosi in https://github.com/FlutterFlow/flutterflow-issues/issues/2933#issuecomment-2129389535

Is there anybody to help me about this issue?


Wrap the entire react-intl api with terra-i18n?

Should we be wrapping the entire react-intl api in terra-i18n?
Currently, I need to import parts from both terra-i18n and react-intl:
https://github.com/cerner/terra-core/blob/master/packages/terra-i18n/examples/I18nDemo.jsx#L2
Currently to use FormattedMessage, I need to import react-intl and terra-i18n.
import { FormattedMessage } from 'react-intl';

import { I18nProvider, i18nLoader } from 'terra-i18n';

Should terra-i18n wrap the entire react-intl library?
import { I18nProvider, i18nLoader, FormattedMessage } from 'terra-i18n';

We've decided to not wrap react-intl. Since applications will most likely need i18n outside of Terra, it would be best to pull it directly in and not have consumers rely on a transitive dependency from the Terra modules.


Handle additional dependencies

refactor stuff a little bit

Closes #42

Rebased and bumped to 2.2.3


Update Sphinx theme

Summary
Updates to new Ecosystem theme.
index.html size increased (11 KB → 27 KB)
Build time increased (726s → 777s)
For more information: https://github.com/Qiskit/qiskit_sphinx_theme/issues/232

Thank you for the pull request! The CI failures look unrelated. I will investigate.

Thank you @kevinsung ! I'm changing the pull request to a draft momentarily to test a little the build first.

CI should be fixed now, please merge main

@arnaucasau is this ready to merge?

Yes, it's ready to merge :)


Ios 9 cannot open library or take photo

Hi ! Is there an issue about ios 9 version which cannot open or take a picture ?
It work fine on ios 10 version but not under :/

Bug fixed with enter in the info.plist on display name bundle :"YourNameApp" and the issues is solved ! Not understand exactly why but why not haha

@dylanschirino  Thanks, It also worked for me. and I also wasted my whole day finding the solution and finally this worked for me


Add screenOrientation configuration via metadata

Allows changing the orientation of the screen by setting android:screenOrientation in the manifest. It might be worth adding to the cargo-apk readme that the default value of "unspecified" doesn't do any rotation for you at all, but "sensorLandscape" and "sensorPortrait" allow rotation from their normal orientations and their reverse orientations.

It might be worth adding to the cargo-apk readme that the default value of "unspecified" doesn't do any rotation for you at all

That'd definitely be great to document!

Don't you get a resized event when rotating?

It seems that no, you don't get a resized event. When I tested it there was one when the app first started, then none at all. I'm using forks of winit and glutin so it might be possible that the event gets lost somewhere, but I get one when it launches so probably not?

I got an email that CI failed and then I realized I probably should've tried to recompile after I made the change (stupid mistake). In my last commit I reverted how we get the orientation from the Option<String>. The details are in the message of the commit, but essentially the types wouldn't match. Maybe there's a way to do it that I'm unaware of, but right now the if let seems cleaner than making another variable.

Can this be made optional? The relevant part of the manifest is here:
android:configChanges="orientation|keyboardHidden|screenSize">

Which means that the config changes event will be emitted on orientation changes.

Maybe there's a way to do it that I'm unaware of

Sorry about that! self.orientation.as_deref().unwrap_or("unspecified") would work, but I'm fine with just keeping if let.

Can this be made optional? The relevant part of the manifest is here:
android:configChanges="orientation|keyboardHidden|screenSize">

Which means that the config changes event will be emitted on orientation changes.

Make this PR optional, or "orientation" in configChanges? Do you think there should there be a configurability to all the values in configChanges?

Maybe there's a way to do it that I'm unaware of

Sorry about that! self.orientation.as_deref().unwrap_or("unspecified") would work, but I'm fine with just keeping if let.

Hey, this works! I wasn't aware of as_deref so I read the docs and now I feel a little smarter, thanks! I'm going to revert to when I fist tried to use unwrap_or with as_ref and force push. I've heard force pushing is taboo but I'm fairly confident I can't break anything here and it'll make the git history cleaner.

Whoops, forgot to ever merge this!