79462321

Date: 2025-02-24 02:16:52
Score: 4
Natty:
Report link

I followed @5ton3's approach of removing .gcloudignore from and adding the virtual env dir. to .gcloudignore. It also worked strangely enough.

Reasons:
  • Low length (1):
  • No code block (0.5):
  • User mentioned (1): @5ton3's
  • Single line (0.5):
  • Low reputation (1):
Posted by: Zaki

79462260

Date: 2025-02-24 01:17:41
Score: 4.5
Natty:
Report link

enter image description here

no troll why does my brick look like this?

from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController

app = Ursina()

player = FirstPersonController()
ground = Entity(model='plane', texture='grass', scale=20, collider='box')
house = Entity(model='cube', texture='brick', scale=2, collider='box')

app.run()
Reasons:
  • Blacklisted phrase (1): enter image description here
  • Probably link only (1):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • Low reputation (1):
Posted by: TheWorstOne

79462254

Date: 2025-02-24 01:14:40
Score: 5
Natty:
Report link

I have same issue in chorma only. I reslove this issued by Reactime26.1 extension use in react when i make it disabled its sloved the error i hope some one help

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Me too answer (2.5): I have same issue
  • Low reputation (1):
Posted by: Payal Patel

79462248

Date: 2025-02-24 01:10:38
Score: 12.5 🚩
Natty: 4.5
Report link

Did you get any answer for this problem. Even i have a similar issue where i want to know which test case is covering a particular scenario , which is essentially a bug.

Reasons:
  • Blacklisted phrase (1): i want to know
  • RegEx Blacklisted phrase (3): Did you get any answer
  • RegEx Blacklisted phrase (1): i want
  • RegEx Blacklisted phrase (2): Even i have
  • Low length (1):
  • No code block (0.5):
  • Me too answer (2.5): i have a similar issue
  • Starts with a question (0.5): Did you
  • Low reputation (1):
Posted by: Geetika6

79462192

Date: 2025-02-24 00:11:28
Score: 9.5
Natty: 7
Report link

I want to Add Camera preview to my project ,but not in Xcode I want to do it on Swift play ground, can anyone guide me thru it ?

Reasons:
  • Blacklisted phrase (1): guide me
  • RegEx Blacklisted phrase (2.5): can anyone guide me
  • RegEx Blacklisted phrase (1): I want
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Vaibhav Kulkarni

79462146

Date: 2025-02-23 23:21:20
Score: 12.5 🚩
Natty: 5.5
Report link

Having the same problem, did you ever get this resolved?

Reasons:
  • RegEx Blacklisted phrase (3): did you ever get this resolved
  • RegEx Blacklisted phrase (1.5): resolved?
  • Low length (1.5):
  • No code block (0.5):
  • Me too answer (2.5): Having the same problem
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Dylan Wolf

79462115

Date: 2025-02-23 22:53:13
Score: 6 🚩
Natty:
Report link

Please can you give me the link where to find the Growatt API documentation

Reasons:
  • RegEx Blacklisted phrase (2.5): Please can you give me
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Jorge Morocho

79461979

Date: 2025-02-23 21:14:53
Score: 4
Natty:
Report link

Please don’t react to these offer.

Reasons:
  • Low length (2):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Demos

79461929

Date: 2025-02-23 20:30:44
Score: 9
Natty: 7.5
Report link

Exactly same issue, any solutions to this?

Reasons:
  • Blacklisted phrase (1.5): any solution
  • RegEx Blacklisted phrase (2): any solutions to this?
  • Low length (1.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Shiv Konar

79461909

Date: 2025-02-23 20:15:40
Score: 4
Natty:
Report link

they removed the dl link, 2025 week 8

Reasons:
  • Low length (2):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: techbiotic

79461889

Date: 2025-02-23 20:05:37
Score: 4.5
Natty:
Report link

I'm getting the error the question author says, but I'm not getting the error in the logs pointed here: https://code.visualstudio.com/docs/editor/settings-sync#_troubleshooting-keychain-issues. I followed your approach, but I have gnome-keyring running, I installed sudo apt install libsecret-1-0 libsecret-1-dev, and "security.workspace.trust.enabled" was already true. But I'm still getting the same error when trying to login to GitHub.

Reasons:
  • RegEx Blacklisted phrase (1): I'm getting the error
  • RegEx Blacklisted phrase (1): I'm still getting the same error
  • Has code block (-0.5):
  • Me too answer (2.5): getting the same error
  • Single line (0.5):
Posted by: David Torres

79461881

Date: 2025-02-23 20:00:36
Score: 4
Natty:
Report link

don’t react to these offer please.

Reasons:
  • Low length (2):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Demos

79461859

Date: 2025-02-23 19:44:32
Score: 11 🚩
Natty: 6
Report link

did you solve the problem? i m facing the same issue when googling from digital ocean droplet. got 403. On terminal works

Reasons:
  • RegEx Blacklisted phrase (3): did you solve the problem
  • RegEx Blacklisted phrase (1.5): solve the problem?
  • Low length (1):
  • No code block (0.5):
  • Me too answer (2.5): facing the same issue
  • Contains question mark (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): did you solve the
  • Low reputation (1):
Posted by: erre4

79461852

Date: 2025-02-23 19:39:30
Score: 5
Natty: 6
Report link

Comment saisir un dropdown au clavier sur smartphone? Cordialement

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Low reputation (1):
Posted by: Jean Claude BERNARD

79461826

Date: 2025-02-23 19:22:27
Score: 4
Natty:
Report link

If you wants to load llama model locally , you can check out this article where proper steps are mentioned.

Reasons:
  • Blacklisted phrase (1): this article
  • Low length (1):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Jack

79461720

Date: 2025-02-23 18:05:12
Score: 4
Natty: 4
Report link

اسم رب الأسرة رباعغ عدلي علي احمد بشارة ،تاريخ الميلاد17/11/1994 شمال دارفور الفاشر السكن/الحي النخيل الرقم الوطني 19209321512،الهاتف +24990524507 عدد أفراد الأسرة 2،زوجةحاملة نعم،عدداطفال أقل من6اشهر لايوجد،عدداطفال أقل من 5اشهر لايوجد ،رقم بنكك2798117 , إسم صاحب رقم الحساب عدلي علي احمد بشارة ،رقم وطني صاحب الحساب 19209321512

Reasons:
  • No code block (0.5):
  • Single line (0.5):
  • No latin characters (2):
  • Low reputation (1):
Posted by: Adli Ali

79461711

Date: 2025-02-23 18:02:10
Score: 6.5 🚩
Natty:
Report link

Any update on this? I am facing the same issue. Happens only for certain regions (numbers with certain country code - in my case Libyan numbers) and works as expected for numbers with other country codes.

Reasons:
  • Blacklisted phrase (1): update on this
  • Low length (0.5):
  • No code block (0.5):
  • Me too answer (2.5): I am facing the same issue
  • Contains question mark (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Hamza Ali

79461601

Date: 2025-02-23 17:02:57
Score: 7.5 🚩
Natty:
Report link

Thank you so much for your help. More details are given below:

  1. No JavaScript Console Errors
  1. Data Attributes Appear in the Rendered HTML
  1. base.html Layout

base.html :

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" th:fragment="layout(content)"
      xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<head th:fragment="title">
    <meta charset="UTF-8">
    <title>StokSense</title>

    <!-- Bootstrap CSS -->
    <link rel="stylesheet"
          th:href="@{https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css}" />
    <!-- Bootstrap Icons -->
    <link rel="stylesheet"
          href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css" />
    <!-- Custom CSS -->
    <link rel="stylesheet" th:href="@{/css/custom.css}" />

    <style>
        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
        }
        body {
            display: flex;
            flex-direction: column;
        }
        main {
            flex: 1;
        }
    </style>
</head>

<body
        th:with="
    currentUser=
      ${(#authentication != null and #authentication.name != 'anonymousUser')
        ? @userService.findByEmail(#authentication.name)
        : null}
  "
        th:classappend="${currentUser != null and currentUser.theme=='dark'} ? ' dark-mode' : ''"
>

<!-- NAVBAR -->
<header th:fragment="header">
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <div class="container-fluid">
            <!-- Logo -->
            <a class="navbar-brand" th:href="@{/}">
                <i class="bi bi-box-seam me-1"></i> StokSense
            </a>
            <button class="navbar-toggler" type="button"
                    data-bs-toggle="collapse"
                    data-bs-target="#navbarNav"
                    aria-controls="navbarNav"
                    aria-expanded="false"
                    aria-label="Menu">
                <span class="navbar-toggler-icon"></span>
            </button>

            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav me-auto">
                    <!-- Ürünler -->
                    <li class="nav-item" sec:authorize="isAuthenticated()">
                        <a class="nav-link" th:text="#{menu.products}" th:href="@{/products}"></a>
                    </li>
                    <!-- Kategoriler -->
                    <li class="nav-item" sec:authorize="isAuthenticated()">
                        <a class="nav-link" th:text="#{menu.categories}" th:href="@{/categories}"></a>
                    </li>
                    <!-- Satın Alma -->
                    <li class="nav-item" sec:authorize="isAuthenticated()">
                        <a class="nav-link" th:text="#{menu.purchases}" th:href="@{/purchases}"></a>
                    </li>
                    <!-- Tedarikçiler -->
                    <li class="nav-item" sec:authorize="isAuthenticated()">
                        <a class="nav-link" th:text="#{menu.suppliers}" th:href="@{/suppliers}"></a>
                    </li>
                    <!-- Müşteriler -->
                    <li class="nav-item" sec:authorize="isAuthenticated()">
                        <a class="nav-link" th:text="#{menu.customers}" th:href="@{/customers}"></a>
                    </li>
                    <!-- Satış -->
                    <li class="nav-item" sec:authorize="isAuthenticated()">
                        <a class="nav-link" th:text="#{menu.sales}" th:href="@{/sales}"></a>
                    </li>
                    <!-- Raporlar -->
                    <li class="nav-item" sec:authorize="isAuthenticated()">
                        <a class="nav-link" th:text="#{menu.reports}" th:href="@{/reports}"></a>
                    </li>
                    <!-- Admin Panel -->
                    <li class="nav-item" sec:authorize="hasRole('ADMIN')">
                        <a class="nav-link" th:text="#{menu.adminPanel}" th:href="@{/admin/index}"></a>
                    </li>
                    <!-- Forecast -->
                    <li class="nav-item" sec:authorize="hasRole('ADMIN') or hasRole('PREMIUM')">
                        <a class="nav-link" th:text="#{menu.forecast}" th:href="@{/premium/forecast}"></a>
                    </li>
                    <!-- Kullanıcı Panelim -->
                    <li class="nav-item" sec:authorize="hasAnyRole('STANDARD','PREMIUM')">
                        <a class="nav-link" th:text="#{menu.dashboard}" th:href="@{/user/dashboard}"></a>
                    </li>
                    <!-- Plan Yükselt -->
                    <li class="nav-item" sec:authorize="hasRole('STANDARD')">
                        <a class="nav-link" th:text="#{menu.planUpgrade}" th:href="@{/user/plans}"></a>
                    </li>
                </ul>

                <!-- Sağ kısım (Giriş / Profil) -->
                <ul class="navbar-nav ms-auto">
                    <!-- Giriş -->
                    <li class="nav-item" sec:authorize="!isAuthenticated()">
                        <a class="nav-link" th:href="@{/login}" th:text="#{menu.login}"></a>
                    </li>
                    <!-- Kayıt -->
                    <li class="nav-item" sec:authorize="!isAuthenticated()">
                        <a class="nav-link" th:href="@{/register}" th:text="#{menu.register}"></a>
                    </li>

                    <!-- Dil Seçimi (icon ekledik) -->
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle"
                           href="#"
                           role="button"
                           data-bs-toggle="dropdown"
                           aria-expanded="false">
                            <i class="bi bi-translate me-1"></i>
                            Dil Seçenekleri
                        </a>
                        <ul class="dropdown-menu dropdown-menu-end">
                            <li>
                                <a class="dropdown-item" href="?lang=tr">Türkçe</a>
                            </li>
                            <li>
                                <a class="dropdown-item" href="?lang=en">English</a>
                            </li>
                        </ul>
                    </li>

                    <!-- Profil Dropdown (giriş yapmış) -->
                    <li class="nav-item dropdown" sec:authorize="isAuthenticated()">
                        <a class="nav-link dropdown-toggle" href="#"
                           role="button" data-bs-toggle="dropdown"
                           aria-expanded="false"
                           th:text="#{menu.profile}"></a>
                        <ul class="dropdown-menu dropdown-menu-end">
                            <li>
                                <a class="dropdown-item" th:href="@{/profile}">
                                    <i class="bi bi-gear-wide-connected me-1"></i>
                                    [[#{menu.profile}]]
                                </a>
                            </li>
                            <li>
                                <form th:action="@{/logout}" method="post" class="m-0">
                                    <button class="dropdown-item" type="submit">
                                        <i class="bi bi-box-arrow-right me-1"></i>
                                        [[#{menu.logout}]]
                                    </button>
                                </form>
                            </li>
                        </ul>
                    </li>
                </ul>

            </div>
        </div>
    </nav>
</header>

<main>

    <div th:replace="${content}"></div>
</main>

<!-- FOOTER -->
<footer class="bg-light text-center text-lg-start mt-5" th:fragment="footer">
    <div class="text-center p-3">
        [[#{footer.copyright}]]
    </div>
</footer>

<!-- Bootstrap JS -->
<script th:src="@{https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js}"></script>

</body>
</html>

4. Order Form Template

order-form.html :

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Ön Sipariş Oluştur - Naaaa</title>

</head>
<body th:replace="~{base :: layout(~{::content})}">


<div th:fragment="content" class="container mt-4">
    <h2>Ön Sipariş Oluştur</h2>

    <!-- Basit form (Spring MVC) -> method="post" -->
    <form th:action="@{/orders/save}"
          th:object="${order}"
          method="post"
          class="needs-validation"
          novalidate>

        <!-- Sipariş ID (hidden) -->
        <input type="hidden" th:field="*{id}" />

        <!-- Müşteri Seçimi -->
        <div class="mb-3">
            <label for="customerSelect" class="form-label">Müşteri Seçiniz</label>
            <select id="customerSelect"
                    th:field="*{customer.id}"
                    class="form-select"
                    required>
                <option value="" disabled selected>Seçiniz</option>
                <option th:each="c : ${customers}"
                        th:value="${c.id}"
                        th:text="${c.name}">
                </option>
            </select>
            <div class="invalid-feedback">Lütfen bir müşteri seçiniz.</div>
        </div>

        <!-- Ürün Seçimi -->
        <div class="mb-3">
            <label for="productSelect" class="form-label">Ürün Seçiniz</label>
            <select id="productSelect"
                    th:field="*{product.id}"
                    class="form-select"
                    required>
                <option value="" disabled selected>Seçiniz</option>
                <!--
                  data-price: Her ürünün "price" değerini HTML5 data attribute olarak tutuyoruz.
                  Seçilen üründe bu attribute'u JS ile okuyup "Net Birim Fiyat" alanına set edeceğiz.
                -->
                <option th:each="p : ${products}"
                        th:value="${p.id}"
                        th:attr="data-price=${p.price}"
                        th:text="${p.name}">
                </option>
            </select>
            <div class="invalid-feedback">Lütfen bir ürün seçiniz.</div>
        </div>

        <!-- Net Birim Fiyat -->
        <div class="mb-3">
            <label for="netUnitPrice" class="form-label">Net Birim Fiyat</label>
            <input type="number"
                   step="0.01"
                   th:field="*{netUnitPrice}"
                   class="form-control"
                   id="netUnitPrice"
                   placeholder="The price of the selected product will appear automatically"
                   required />
            <div class="invalid-feedback">Net birim fiyat alanı zorunlu.</div>
        </div>


        <div class="mb-3">
            <label for="taxRate" class="form-label">Vergi Oranı</label>
            <input type="number"
                   step="0.01"
                   th:field="*{taxRate}"
                   class="form-control"
                   id="taxRate"
                   placeholder="0.18 => %18"
                   required />
            <div class="invalid-feedback">Lütfen geçerli bir vergi oranı giriniz.</div>
        </div>

        <!-- Miktar -->
        <div class="mb-3">
            <label for="quantity" class="form-label">Miktar (Adet)</label>
            <input type="number"
                   th:field="*{quantity}"
                   class="form-control"
                   id="quantity"
                   value="1"
                   min="1"
                   required />
            <div class="invalid-feedback">En az 1 adet olmalıdır.</div>
        </div>

      
        <button type="submit" class="btn btn-primary">Kaydet</button>
        <a th:href="@{/orders/my}" class="btn btn-secondary">İptal</a>
    </form>
</div> 

<!-- JS (Bootstrap ve script) -->
<script th:src="@{https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js}"></script>
<script>
    
    (function () {
        'use strict';
        const forms = document.querySelectorAll('.needs-validation');
        Array.from(forms).forEach(form => {
            form.addEventListener('submit', function (event) {
                if (!form.checkValidity()) {
                    event.preventDefault();
                    event.stopPropagation();
                }
                form.classList.add('was-validated');
            }, false);
        });
    })();

    
    document.addEventListener('DOMContentLoaded', function() {
        const productSelect = document.getElementById('productSelect');
        const netPriceInput = document.getElementById('netUnitPrice');

        productSelect.addEventListener('change', function() {
           
            const selectedOption = productSelect.options[productSelect.selectedIndex];
           
            const price = selectedOption.getAttribute('data-price');
            
            if (price) {
                netPriceInput.value = price;
            }
        });
    });
</script>
</body>
</html>

5. Behavior Observed

6. Browser / Tools

Maybe you want to see it;

OrderController.java :

package com.stoksense.controller;

import com.stoksense.model.*;
import com.stoksense.service.*;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.List;


@Controller
@RequestMapping("/orders")
public class OrderController {

    private final OrderService orderService;
    private final ProductService productService;
    private final CustomerService customerService;
    private final UserService userService;
    private final SaleService saleService;

    public OrderController(OrderService orderService,
                           ProductService productService,
                           CustomerService customerService,
                           UserService userService,
                           SaleService saleService) {
        this.orderService = orderService;
        this.productService = productService;
        this.customerService = customerService;
        this.userService = userService;
        this.saleService = saleService;
    }


    @GetMapping("/my")
    public String myOrders(Authentication auth, Model model) {
        User user = userService.findByEmail(auth.getName());
        if (user == null) {
            return "redirect:/login?notAllowed";
        }
        // Customer
        Customer cust = customerService.findByEmail(user.getEmail());
        if (cust == null) {
            model.addAttribute("orders", List.of());
            return "orders/my-orders";
        }
        // siparişleri al
        List<Order> orders = orderService.getOrdersByCustomer(cust);
        model.addAttribute("orders", orders);
        return "orders/my-orders";
    }


    @GetMapping("/add")
    public String showAddOrderForm(Model model, Authentication auth) {
        Order order = new Order();
        order.setOrderDate(LocalDateTime.now());
        order.setStatus(OrderStatus.PENDING);

        // Giriş yapan user => Customer
        User user = userService.findByEmail(auth.getName());
        if (user != null) {
            Customer c = customerService.findByEmail(user.getEmail());
            if (c != null) {
                order.setCustomer(c);
            }
          
            List<Product> userProducts = productService.getAllProductsByEmail(user.getEmail());
            model.addAttribute("products", userProducts);
        } else {
            model.addAttribute("products", List.of());
        }

        
        model.addAttribute("customers", customerService.getAllCustomers());
        model.addAttribute("order", order);

        return "orders/order-form"; // templates/orders/order-form.html
    }


    @PostMapping("/save")
    public String saveOrder(@ModelAttribute("order") Order order,
                            Authentication auth) {

        User user = userService.findByEmail(auth.getName());
        if (user == null) {
            return "redirect:/login?notAllowed";
        }

        // Müşteri atanmamışsa
        if (order.getCustomer() == null || order.getCustomer().getId() == null) {
            Customer c = customerService.findByEmail(user.getEmail());
            if (c == null) {
                return "redirect:/orders/my?noCustomer";
            }
            order.setCustomer(c);
        }

        // Ürün stok kontrol & stok düş
        if (order.getProduct() != null && order.getProduct().getId() != null) {
            Product p = productService.getProductById(order.getProduct().getId()).orElse(null);
            if (p == null) {
                return "redirect:/orders/my?productNotFound";
            }
            if (p.getStockQuantity() < order.getQuantity()) {
                return "redirect:/orders/my?insufficientStock";
            }
            p.setStockQuantity(p.getStockQuantity() - order.getQuantity());
            productService.saveProduct(p);

            // netUnitPrice boşsa => product.price
            if (order.getNetUnitPrice() == null || order.getNetUnitPrice() == 0) {
                order.setNetUnitPrice(p.getPrice());
            }
        }

        // totalAmount
        double net = (order.getNetUnitPrice() != null) ? order.getNetUnitPrice() : 0;
        double tax = (order.getTaxRate() != null) ? order.getTaxRate() : 0;
        int qty = (order.getQuantity() != null) ? order.getQuantity() : 1;
        double total = (net * qty) * (1 + tax);
        order.setTotalAmount(total);

        // Durum => PENDING
        if (order.getStatus() == null) {
            order.setStatus(OrderStatus.PENDING);
        }

        orderService.save(order);
        return "redirect:/orders/my?created";
    }


    @GetMapping("/complete/{id}")
    public String completeOrder(@PathVariable("id") Long id, Authentication auth) {
        Order order = orderService.getOrderById(id);
        if (order == null) {
            return "redirect:/orders/my?notfound";
        }
        User user = userService.findByEmail(auth.getName());
        if (user == null) {
            return "redirect:/login?error";
        }
        Customer cust = customerService.findByEmail(user.getEmail());
        if (cust == null || !order.getCustomer().getId().equals(cust.getId())) {
            return "redirect:/orders/my?unauthorized";
        }

        if (order.getStatus() != OrderStatus.CONFIRMED) {
            order.setStatus(OrderStatus.CONFIRMED);
            orderService.save(order);

            // Satışa dönüştür
            saleService.createSaleFromOrder(order);
        }

        return "redirect:/orders/my?completed";
    }

}

ProductController.java :

package com.stoksense.controller;

import com.stoksense.model.Product;
import com.stoksense.service.CategoryService;
import com.stoksense.service.ProductService;
import com.stoksense.service.UserService;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@Controller
@RequestMapping("/products")
public class ProductController {

    private final ProductService productService;
    private final UserService userService;
    private final CategoryService categoryService;

    public ProductController(ProductService productService,
                             UserService userService,
                             CategoryService categoryService) {
        this.productService = productService;
        this.userService = userService;
        this.categoryService = categoryService;
    }

    @GetMapping
    public String listProducts(@RequestParam(value = "search", required = false) String search,
                               Model model,
                               Authentication authentication) {
        // Eskisi gibi ürün liste mantığı
        if (authentication == null) {
            model.addAttribute("products", List.of());
            return "product-list";
        }
        String email = authentication.getName();
        var products = productService.getAllProductsByEmail(email);

        if (search != null && !search.trim().isEmpty()) {
            String lower = search.trim().toLowerCase();
            products = products.stream()
                    .filter(p -> p.getName() != null &&
                            p.getName().toLowerCase().contains(lower))
                    .toList();
            model.addAttribute("search", search);
        }

        long totalUserProducts = productService.countAllProductsByEmail(email);
        long totalStock = products.stream().mapToLong(Product::getStockQuantity).sum();
        double averagePrice = 0.0;
        if (!products.isEmpty()) {
            double sumPrices = products.stream()
                    .mapToDouble(p -> (p.getPrice() != null ? p.getPrice() : 0.0))
                    .sum();
            averagePrice = sumPrices / products.size();
        }

        model.addAttribute("products", products);
        model.addAttribute("totalUserProducts", totalUserProducts);
        model.addAttribute("totalStock", totalStock);
        model.addAttribute("averagePrice", averagePrice);

        return "product-list";
    }

    /**
     * GET /products/add
     * Yeni ürün ekleme formu (Kategorileri de modele ekleyelim).
     */
    @GetMapping("/add")
    public String showAddProductForm(Model model, Authentication authentication) {
        model.addAttribute("product", new Product());

        // Kullanıcının kategorilerini bul
        if (authentication != null) {
            var user = userService.findByEmail(authentication.getName());
            if (user != null) {
                // Tüm kategoriler
                var categories = categoryService.getAllCategoriesByEmail(user.getEmail());
                model.addAttribute("categories", categories);
            } else {
                model.addAttribute("categories", List.of());
            }
        } else {
            model.addAttribute("categories", List.of());
        }

        return "product-form";
    }

    @PostMapping("/save")
    public String saveProduct(@ModelAttribute("product") Product product,
                              Authentication authentication) {

        if (authentication != null) {
            var user = userService.findByEmail(authentication.getName());
            product.setOwner(user);
        }

        productService.saveProduct(product);
        return "redirect:/products?success";
    }

    /**
     * GET /products/edit/{id}
     * Düzenleme formu (Kategori listesi de ekleyelim).
     */
    @GetMapping("/edit/{id}")
    public String showEditProductForm(@PathVariable("id") Long id,
                                      Model model,
                                      Authentication authentication) {
        var opt = productService.getProductById(id);
        if (opt.isEmpty()) {
            return "redirect:/products?notfound";
        }
        Product product = opt.get();
        model.addAttribute("product", product);

        // Kullanıcının kategorilerini bul
        if (authentication != null) {
            var user = userService.findByEmail(authentication.getName());
            if (user != null) {
                var categories = categoryService.getAllCategoriesByEmail(user.getEmail());
                model.addAttribute("categories", categories);
            } else {
                model.addAttribute("categories", List.of());
            }
        } else {
            model.addAttribute("categories", List.of());
        }

        return "product-form";
    }

    @GetMapping("/delete/{id}")
    public String deleteProduct(@PathVariable("id") Long id) {
        productService.deleteProduct(id);
        return "redirect:/products?deleted";
    }

    @GetMapping("/bulk-update")
    public String showBulkUpdateForm(Model model, Authentication authentication) {
        if (authentication == null) {
            model.addAttribute("products", List.of());
            return "bulk-update";
        }
        var user = userService.findByEmail(authentication.getName());
        var products = productService.getAllProductsByEmail(user.getEmail());
        model.addAttribute("products", products);
        return "bulk-update";
    }

    @PostMapping("/bulk-update")
    public String processBulkUpdate(@RequestParam("productIds") List<Long> productIds,
                                    @RequestParam("newStock") List<Integer> newStockValues) {
        for (int i = 0; i < productIds.size(); i++) {
            productService.updateStockQuantity(productIds.get(i), newStockValues.get(i));
        }
        return "redirect:/products?bulkUpdated";
    }
}

Thank you very much in advance for your help, if there is anything else you would like to see, please let me know.

Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Blacklisted phrase (1): no luck
  • RegEx Blacklisted phrase (2.5): please let me know
  • RegEx Blacklisted phrase (3): Thank you very much in advance
  • Long answer (-1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Rosicky

79461586

Date: 2025-02-23 16:55:55
Score: 5.5
Natty: 5
Report link

I don't have enough reputation to comment. As another person said, I also resolved this problem on Thonny/Pico by removing "freq = 40000' from the I2C object statement.

Reasons:
  • Blacklisted phrase (1): to comment
  • RegEx Blacklisted phrase (1.5): I don't have enough reputation to comment
  • Low length (1):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Charles Brombaugh

79461581

Date: 2025-02-23 16:54:54
Score: 7.5 🚩
Natty: 5
Report link

I'm having the same issue but with C#. Should I assume that this isn't a bug, but that it's just not supported yet in the C# extension?

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Me too answer (2.5): I'm having the same issue
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: yaz

79461572

Date: 2025-02-23 16:49:53
Score: 5.5
Natty: 4.5
Report link

I am facing the same problem. en_US language works fine. My template is in another language, approved by Meta for the test given telephone number. The issue should be for the demo telephone number is tight to the English (en_US) language.

Reasons:
  • Blacklisted phrase (1): m facing the same problem
  • Low length (0.5):
  • No code block (0.5):
  • Me too answer (2.5): I am facing the same problem
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: Carlos Mendez Comas

79461551

Date: 2025-02-23 16:34:48
Score: 7 🚩
Natty: 5.5
Report link

Файл написан кириллицей та же ошибка, надо переименовать в латиницу

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • No latin characters (3.5):
  • Low reputation (1):
Posted by: Роман Сергеев

79461549

Date: 2025-02-23 16:34:48
Score: 5
Natty: 5.5
Report link

Anyone now if it is possible to get the click callback link on this windows toast notification ?

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Polestar

79461538

Date: 2025-02-23 16:27:46
Score: 4
Natty: 4.5
Report link

Here's a nice description from Microsoft on that topic: https://learn.microsoft.com/en-us/previous-versions/office/troubleshoot/office-developer/set-up-vb-project-using-class

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Gerold Seifriedsberger

79461498

Date: 2025-02-23 16:06:41
Score: 7.5 🚩
Natty: 6
Report link

Sorry, no answer, but I am having a similar problem. I am trying to use adafruit-blinka on a Pi Zero W. Starting from a clean SD card I have installed the Rpi OS and I have done a manual blinky install as documented by Adafruit.

I am using a virtual environment. If I run a python3 "shell" then import board and dir(board) seem to work just fine.

If I create a python script containing "import board" it fails reporting "module board not found".

Any Clues, Cheers

Reasons:
  • Blacklisted phrase (1): Cheers
  • Blacklisted phrase (1): I am having a similar problem
  • Blacklisted phrase (1): I am trying to
  • No code block (0.5):
  • Me too answer (2.5): I am having a similar problem
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: David Whiteley

79461386

Date: 2025-02-23 14:29:21
Score: 6.5 🚩
Natty:
Report link

I hope everyone is fine. I also searched on stackoverflow but couldn't find it. Or maybe I didn't call correctly. I cannot send the reordering here to the back-end. I added SS. I would be very happy if you could help. I couldn't find where I made a mistake.

I added ss

Reasons:
  • Blacklisted phrase (1): stackoverflow
  • Blacklisted phrase (0.5): I cannot
  • RegEx Blacklisted phrase (3): you could help
  • Low length (0.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: İbrahim OKUYUCU

79461355

Date: 2025-02-23 14:07:16
Score: 4
Natty:
Report link

I handle gamebutton presses in my bar.

Reasons:
  • Low length (2):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Local

79461349

Date: 2025-02-23 14:05:15
Score: 4
Natty:
Report link

https://developer.android.com/about/versions/15/behavior-changes-15#ux The easiest and temporary workaround is to target Android 14.

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Manabu Nakamura

79461298

Date: 2025-02-23 13:34:09
Score: 4
Natty:
Report link

I jave just found prop-types are no longer validated in React 19.

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Antonio Retamosa

79461261

Date: 2025-02-23 13:10:04
Score: 4
Natty:
Report link

The crash in iOS 12 is solved by setting the Optimization Level from "Optimize for Speed" to "No Optimizaiton"enter image description here

Reasons:
  • Probably link only (1):
  • Low length (1):
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: D.Young

79461248

Date: 2025-02-23 13:01:01
Score: 11 🚩
Natty: 5.5
Report link

facing same issue! did you find solution for this?

Reasons:
  • RegEx Blacklisted phrase (3): did you find solution
  • Low length (1.5):
  • No code block (0.5):
  • Me too answer (2.5): facing same issue
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Harshvardhan Mohite

79461232

Date: 2025-02-23 12:50:58
Score: 4.5
Natty:
Report link

The answer was defineSlots

Updated playground

Reasons:
  • Probably link only (1):
  • Low length (2):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: darkbasic

79461218

Date: 2025-02-23 12:35:54
Score: 4
Natty:
Report link

As a last resort, reboot your computer.

Reasons:
  • Low length (2):
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: tengy

79461210

Date: 2025-02-23 12:28:53
Score: 4.5
Natty:
Report link

I have fixed it now... all I needed to do was to reinstall godot-cpp.

Reasons:
  • Blacklisted phrase (0.5): I need
  • Low length (1.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Sekaus

79461188

Date: 2025-02-23 12:12:49
Score: 5
Natty:
Report link

Everyone

Option to choose table is good and it work absolutely correct but didn't work correctly when my table header height is too large it just stop printing header from the next page.

I read about this and found the the height of the header to work correctly is about 234 px and above that it will not get printed from the next page this is default behaviour of the browser bit how do I surpass thia I don't want to put and height contrain on my header height

Thank in advance for the solution

Reasons:
  • Blacklisted phrase (1): how do I
  • RegEx Blacklisted phrase (3): Thank in advance
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: Shivam Singhal

79461163

Date: 2025-02-23 11:51:45
Score: 6.5 🚩
Natty: 5.5
Report link

Since I have the same problem I wonder you were able to fix the problem, and if so how :-)

Reasons:
  • Blacklisted phrase (1): I have the same problem
  • Low length (1):
  • No code block (0.5):
  • Me too answer (2.5): I have the same problem
  • Single line (0.5):
  • Low reputation (1):
Posted by: Julien van Burk

79461159

Date: 2025-02-23 11:45:43
Score: 4.5
Natty:
Report link

I tried the recommendations, and it's even worse. I had to rewrite the whole thing enter image description here

Reasons:
  • Blacklisted phrase (1): enter image description here
  • Low length (1.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Alex Berlev

79461147

Date: 2025-02-23 11:29:40
Score: 5
Natty:
Report link

Follow This: https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/studio-versions and go back a version.

Reasons:
  • Probably link only (1):
  • Low length (2):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Nando

79461143

Date: 2025-02-23 11:26:39
Score: 9.5 🚩
Natty:
Report link

@LoicTheAztec Sorry, but my client was on a trip and I couldn't test the comments. Can you please send the comment that was deleted?

Reasons:
  • RegEx Blacklisted phrase (2.5): Can you please send
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • User mentioned (1): @LoicTheAztec
  • Single line (0.5):
  • Looks like a comment (1):
  • Low reputation (1):
Posted by: MyAccount

79461109

Date: 2025-02-23 11:04:34
Score: 4
Natty:
Report link

Iph[

]1

Reasons:
  • Blacklisted phrase (0.5): enter link description here
  • Low length (2):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Mamour Mbaye

79461054

Date: 2025-02-23 10:27:26
Score: 4
Natty:
Report link

It might be bugged in an update process by Microsoft, creating a new environment pointing to the newest version allows me coding again:

enter image description here

Reasons:
  • Probably link only (1):
  • Low length (1):
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: kuhi

79461031

Date: 2025-02-23 10:10:21
Score: 12 🚩
Natty:
Report link

I'm also getting the same error. Can anyone help me with this issue to resolve?

The "pkceCodeVerifier value could not be parsed" issue occurs when a user accepts an invitation. However, for normal sign-in or sign-up, it works fine.

I have created a regular app in Auth0 and also set all the required URLs.

Below is the code for the NextAuth configuration file and provider configuration for Auth0:

const authConfig = {
  debug: true, // Enabled because we are in development
  providers: [
    Auth0Provider({
      clientId: process.env.AUTH0_CLIENT_ID,
      clientSecret: process.env.AUTH0_CLIENT_SECRET,
      issuer: process.env.AUTH0_ISSUER,
      authorization: {
        params: {
          prompt: "login",
        },
      },
    }),
  ],
  adapter: DrizzleAdapter(db, {
    usersTable: users,
    accountsTable: accounts,
    sessionsTable: sessions,
    verificationTokensTable: verificationTokens,
  }),
  callbacks: {
    async signIn({ user, account, profile }: ISigninAuth0) {
      const updates: IUpdateUser = {};

      if (profile?.email_verified && !user?.emailVerified) {
        updates.emailVerified = new Date();
      }

      if (Object.keys(updates).length > 0) {
        await updateUserByEmail(user.email!, updates);
      }
      return true;
    },
    session: async ({ session, user }) => {
      const userData = await getUser(user.id);
      if (!userData) {
        throw new Error("User data not found");
      }
      return {
        ...session,
        user: {
          id: user.id,
          ...{
            name: userData.name,
            email: userData.email,
            emailVerified: userData.emailVerified,
          }
        },
      };
    },
  },
  trustHost: true,
} satisfies NextAuthConfig;


const { auth: uncachedAuth, handlers, signIn, signOut } = NextAuth(authConfig);

const auth = cache(uncachedAuth);

export { auth, handlers, signIn, signOut };

Organization admin invites user to join the organization by using Auth0 management API.

POST  /api/v2/organizations/{id}/invitations
Body: {
  "inviter": {
    "name": "string"
  },
  "invitee": {
    "email": "[email protected]"
  },
  "client_id": "string",
  "user_metadata": {},
  "ttl_sec": 0,
  "roles": [
    "string"
  ],
  "send_invitation_email": true
}

The user receives an email with a link to join the organization. The user clicks on the link (which looks like https://example.com/api/authorize?invitation={invitation_id}&organization={organization_id}) and is redirected to our website.

There, we extract the invitation_id and organization_id from the query params and generate a new invitation link with the following code:

const baseUrl = `https://myauth0domain.com/authorize`;
const url = new URL(baseUrl);
url.searchParams.append("response_type", "code");
url.searchParams.append("client_id", clientId);
url.searchParams.append("redirect_uri", redirectUri);
url.searchParams.append("invitation", invitation);
url.searchParams.append("organization", organizationId);
url.searchParams.append("scope", "openid profile email");
const finalUrl = url.toString();
return NextResponse.redirect(new URL(finalUrl as string, baseURL));

The user is then redirected to the Auth0 login page, and after successful login, the user is redirected back to our website with the code in the query params. However, I get the error "pkceCodeVerifier can not be parsed," and the user is not logged in. I have checked the logs in Auth0, and all logs are fine. I'm using the regular Auth0 application, and the pkceCodeVerifier flow is handled by Auth0 itself in regular application.

I have also passed the code challenge, code challenge method, and state in the URL but am still getting the same error. Below is the code for the same:

Ref to create code verifier and code challenge: https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/add-login-using-the-authorization-code-flow-with-pkce#create-code-verifier

// code verifier
function base64URLEncode(str: any) {
  return str.toString('base64')
      .replace(/\+/g, '-')
      .replace(/\//g, '_')
      .replace(/=/g, '');
}
const verifier = base64URLEncode(crypto.randomBytes(32));


//  code challenge
function sha256(buffer) {
  return crypto.createHash('sha256').update(buffer).digest();
}
const  challenge = base64URLEncode(sha256(verifier));
url.searchParams.append('code_challenge', challenge);
url.searchParams.append('code_challenge_method', 'S256');
url.searchParams.append('state', state);

I have also tried to set the cookie options in the NextAuth configuration file but am still getting the same error. Below is the code for the same:

cookies: {
  pkceCodeVerifier: {
    name: "authjs.pkce.code_verifier",
    options: {
      httpOnly: true,
      sameSite: "none",
      path: "/",
      secure: true,  // Set to true in production
    },
  },
},

I have also added the code verifier in the cookies below is the code

const baseUrl = `https://myauth0domain.com/authorize`;
const url = new URL(baseUrl);
url.searchParams.append("response_type", "code");
url.searchParams.append("client_id", clientId);
url.searchParams.append("redirect_uri", redirectUri);
url.searchParams.append("invitation", invitation);
url.searchParams.append("organization", organizationId);
url.searchParams.append("scope", "openid profile email");
const finalUrl = url.toString();
const response = NextResponse.redirect(new URL(finalUrl as string, baseURL));
const cookieOptions = {
        httpOnly: true,
        secure: false,
        maxAge: 900, // 15 minutes
        path: '/',
      };

response.headers.set(
  'Set-Cookie',
  serialize('authjs.pkce.code_verifier', verifier, cookieOptions)
);
return response

Simple signUp/signIn Works fine but when I try to log in with the invitation link then i get the error.

Reasons:
  • Blacklisted phrase (1): help me
  • RegEx Blacklisted phrase (1.5): resolve?
  • RegEx Blacklisted phrase (3): Can anyone help me
  • RegEx Blacklisted phrase (1): I'm also getting the same error
  • RegEx Blacklisted phrase (1): I get the error
  • RegEx Blacklisted phrase (1): am still getting the same error
  • RegEx Blacklisted phrase (1): i get the error
  • Long answer (-1):
  • Has code block (-0.5):
  • Me too answer (2.5): I'm also getting the same error
  • Me too answer (0): getting the same error
  • Contains question mark (0.5):
  • Low reputation (1):
Posted by: anuj

79461029

Date: 2025-02-23 10:09:20
Score: 4
Natty:
Report link

in later version there is a thing called sync project that should resolve it enter image description here

Reasons:
  • Blacklisted phrase (1): enter image description here
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: DHEERAJ

79461018

Date: 2025-02-23 10:00:18
Score: 12.5
Natty: 8.5
Report link

Did you figure out a solution for this? If yes can you please share it here? thanks

Reasons:
  • Blacklisted phrase (0.5): thanks
  • RegEx Blacklisted phrase (2.5): can you please share
  • RegEx Blacklisted phrase (3): Did you figure out a solution
  • Low length (1.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Unregistered user (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): Did you
  • Low reputation (1):
Posted by: CommerceUser

79460979

Date: 2025-02-23 09:30:11
Score: 5
Natty: 5
Report link

Somebody has been tested this on a repeatable field?

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: Quique García Cruz

79460919

Date: 2025-02-23 08:45:01
Score: 4.5
Natty:
Report link

Thank you very much. I found that error was because I needed to have the compatible version between React/Chakra. I finilly used the 18.2.2 version React and 2.8.0 Chakra version.

Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Blacklisted phrase (0.5): I need
  • Low length (1):
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Anna Pons

79460908

Date: 2025-02-23 08:29:58
Score: 6.5
Natty: 7.5
Report link

How can I have all the programmed code together?

Reasons:
  • Blacklisted phrase (0.5): How can I
  • Low length (1.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Starts with a question (0.5): How can I have
  • Low reputation (1):
Posted by: Iraj AkbariSohi

79460903

Date: 2025-02-23 08:27:57
Score: 4
Natty:
Report link

simply you can visit - https://base64pdf.com and you can convert your base64 to pdf and pdf to base64 data uri here you can also decode encode pdf files. base64pdf

Reasons:
  • Contains signature (1):
  • Low length (1):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: BASE64PDF

79460900

Date: 2025-02-23 08:22:56
Score: 4.5
Natty: 4
Report link

Please explain your question? Are you trying to change default.xml and use yaml or anything else.

This is currently not possible as default.xml and other xml files are for keeping the configurations.

But if you want to change json or yaml input in request body to any other form like xml that is possible with an use JavaScript, transformers like xml transformer etc. for this.

You can respond to this thread with explanation. Feel free to contact.

Reasons:
  • RegEx Blacklisted phrase (2.5): Please explain your question
  • No code block (0.5):
  • Contains question mark (0.5):
  • Low reputation (1):
Posted by: Sandip Mandal

79460836

Date: 2025-02-23 07:28:44
Score: 4
Natty: 4.5
Report link

This issue has been fixed in Flutter 3.29.0, which was released to the stable channel. https://github.com/flutter/flutter/issues/160442#issuecomment-2627839218

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Leo

79460763

Date: 2025-02-23 06:11:29
Score: 10 🚩
Natty:
Report link

I'm also getting the same error. Can anyone help me with this issue?

The "pkceCodeVerifier value could not be parsed" issue occurs when a user accepts an invitation. However, for normal sign-in or sign-up, it works fine.

I have created a regular app in Auth0 and also set all the required URLs as referenced in the screenshot below.

enter image description here


I have also set the type of users in the Auth0 application.

enter image description here

Below is the code for the NextAuth configuration file and provider configuration for Auth0:

const authConfig = {
  debug: true, // Enabled because we are in development
  providers: [
    Auth0Provider({
      clientId: process.env.AUTH0_CLIENT_ID,
      clientSecret: process.env.AUTH0_CLIENT_SECRET,
      issuer: process.env.AUTH0_ISSUER,
      authorization: {
        params: {
          prompt: "login",
        },
      },
    }),
  ],
  adapter: DrizzleAdapter(db, {
    usersTable: users,
    accountsTable: accounts,
    sessionsTable: sessions,
    verificationTokensTable: verificationTokens,
  }),
  callbacks: {
    async signIn({ user, account, profile }: ISigninAuth0) {
      const updates: IUpdateUser = {};

      if (profile?.email_verified && !user?.emailVerified) {
        updates.emailVerified = new Date();
      }

      if (Object.keys(updates).length > 0) {
        await updateUserByEmail(user.email!, updates);
      }
      return true;
    },
    session: async ({ session, user }) => {
      const userData = await getUser(user.id);
      if (!userData) {
        throw new Error("User data not found");
      }
      return {
        ...session,
        user: {
          id: user.id,
          ...{
            name: userData.name,
            email: userData.email,
            emailVerified: userData.emailVerified,
          }
        },
      };
    },
  },
  trustHost: true,
} satisfies NextAuthConfig;


const { auth: uncachedAuth, handlers, signIn, signOut } = NextAuth(authConfig);

const auth = cache(uncachedAuth);

export { auth, handlers, signIn, signOut };

Organization admin invites user to join the organization by using Auth0 management API.

POST  /api/v2/organizations/{id}/invitations
Body: {
  "inviter": {
    "name": "string"
  },
  "invitee": {
    "email": "[email protected]"
  },
  "client_id": "string",
  "user_metadata": {},
  "ttl_sec": 0,
  "roles": [
    "string"
  ],
  "send_invitation_email": true
}

The user receives an email with a link to join the organization. The user clicks on the link (which looks like https://example.com/api/authorize?invitation={invitation_id}&organization={organization_id}) and is redirected to our website.

There, we extract the invitation_id and organization_id from the query params and generate a new invitation link with the following code:

const baseUrl = `https://myauth0domain.com/authorize`;
const url = new URL(baseUrl);
url.searchParams.append("response_type", "code");
url.searchParams.append("client_id", clientId);
url.searchParams.append("redirect_uri", redirectUri);
url.searchParams.append("invitation", invitation);
url.searchParams.append("organization", organizationId);
url.searchParams.append("scope", "openid profile email");
const finalUrl = url.toString();
return NextResponse.redirect(new URL(finalUrl as string, baseURL));

The user is then redirected to the Auth0 login page, and after successful login, the user is redirected back to our website with the code in the query params. However, I get the error "pkceCodeVerifier can not be parsed," and the user is not logged in. I have checked the logs in Auth0, and all logs are fine. I'm using the regular Auth0 application, and the pkceCodeVerifier flow is handled by Auth0 itself in regular application.

I have also passed the code challenge, code challenge method, and state in the URL but am still getting the same error. Below is the code for the same:

Ref to create code verifier and code challenge: https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/add-login-using-the-authorization-code-flow-with-pkce#create-code-verifier

// code verifier
function base64URLEncode(str: any) {
  return str.toString('base64')
      .replace(/\+/g, '-')
      .replace(/\//g, '_')
      .replace(/=/g, '');
}
const verifier = base64URLEncode(crypto.randomBytes(32));


//  code challenge
function sha256(buffer) {
  return crypto.createHash('sha256').update(buffer).digest();
}
const  challenge = base64URLEncode(sha256(verifier));
url.searchParams.append('code_challenge', challenge);
url.searchParams.append('code_challenge_method', 'S256');
url.searchParams.append('state', state);

I have also tried to set the cookie options in the NextAuth configuration file but am still getting the same error. Below is the code for the same:

cookies: {
  pkceCodeVerifier: {
    name: "authjs.pkce.code_verifier",
    options: {
      httpOnly: true,
      sameSite: "none",
      path: "/",
      secure: true,  // Set to true in production
    },
  },
},

I have also added the code verifier in the cookies below is the code

const baseUrl = `https://myauth0domain.com/authorize`;
const url = new URL(baseUrl);
url.searchParams.append("response_type", "code");
url.searchParams.append("client_id", clientId);
url.searchParams.append("redirect_uri", redirectUri);
url.searchParams.append("invitation", invitation);
url.searchParams.append("organization", organizationId);
url.searchParams.append("scope", "openid profile email");
const finalUrl = url.toString();
const response = NextResponse.redirect(new URL(finalUrl as string, baseURL));
const cookieOptions = {
        httpOnly: true,
        secure: false,
        maxAge: 900, // 15 minutes
        path: '/',
      };

response.headers.set(
  'Set-Cookie',
  serialize('authjs.pkce.code_verifier', verifier, cookieOptions)
);
return response

SignUp/SignIn flow Screenshot: signup-signin-flow signup-signin-flow-2

Invitation Screenshot:

invitation

Simple signUp/signIn Works fine but when I try to log in with the invitation link then i get the error.

Reasons:
  • Blacklisted phrase (1): help me
  • RegEx Blacklisted phrase (3): Can anyone help me
  • RegEx Blacklisted phrase (1): I'm also getting the same error
  • RegEx Blacklisted phrase (1): I get the error
  • RegEx Blacklisted phrase (1): am still getting the same error
  • RegEx Blacklisted phrase (1): i get the error
  • Long answer (-1):
  • Has code block (-0.5):
  • Me too answer (2.5): I'm also getting the same error
  • Me too answer (0): getting the same error
  • Contains question mark (0.5):
  • Low reputation (0.5):
Posted by: Anuj Chandel

79460748

Date: 2025-02-23 05:56:25
Score: 5.5
Natty:
Report link

It looks like it's not possible to edit the main.go file location so I am going to try change the docker file

RUN CGO_ENABLED=0 GOOS=linux go build -o main ./cmd/myapp/

I still get the same error

=> [builder 5/6] COPY . .
2.3s => ERROR [builder 6/6] RUN CGO_ENABLED=0 GOOS=linux go build -o main ./cmd/myapp/
13.7s

[builder 6/6] RUN CGO_ENABLED=0 GOOS=linux go build -o main ./cmd/myapp/: #13 13.28 stat /app/cmd/myapp: directory not found

Reasons:
  • RegEx Blacklisted phrase (1): I still get the same error
  • No code block (0.5):
  • Me too answer (2.5): get the same error
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Dinushi Dhananjani

79460739

Date: 2025-02-23 05:43:23
Score: 5
Natty: 5.5
Report link

I don't understand at all I. Andrea wisnesneski ur saying Ed wins what did ed win??e told me no one told me situation if it's about inherent then I would of did whatever needed to be done or if it had anything to do with child I would of done anything that needed to be done but because I wasn't informed of anything how is it far Ed wins???

Reasons:
  • Blacklisted phrase (1): ???
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Andrea Fayene

79460724

Date: 2025-02-23 05:26:19
Score: 9 🚩
Natty: 4.5
Report link

Did you find anything related to this?? I am facing the exact same issue and was hoping for some help as I have been researching for days about this.

Reasons:
  • RegEx Blacklisted phrase (3): Did you find
  • Low length (1):
  • No code block (0.5):
  • Me too answer (2.5): I am facing the exact same issue
  • Contains question mark (0.5):
  • Starts with a question (0.5): Did you find any
  • Low reputation (1):
Posted by: Dishant Kaushal

79460621

Date: 2025-02-23 03:12:54
Score: 5
Natty: 6
Report link

Why does everyone put "x" after the "Lamda" part of the formula?

LAMBDA(x; SUM(x)

What goes in leu of the x's?

Thx,

dgDG

Reasons:
  • Blacklisted phrase (1): Thx
  • Low length (1):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • Starts with a question (0.5): Why do
  • Low reputation (1):
Posted by: David Galetar

79460608

Date: 2025-02-23 02:49:49
Score: 5
Natty: 4
Report link

I have same issue. Need to pass context in {children} and my context is also in CamelCase but no luck still undefined,

 return (
    <GoogleOAuthProvider clientId={clientID}>
      <ProfileContext.Provider value={Profile}>
        <html lang="en">
          <body className={`${Font.variable}`}>
            <Navbar />
            {children}
            <Footer />
            <ProgressBar />
            <button className={`scrollToTopButton ${isVisible ? "visible" : ""}`} onClick={scrollToTop}>
              <FontAwesomeIcon icon={faAngleUp} style={{ width: "22px", height: "32px" }} />
            </button>
          </body>
        </html>
      </ProfileContext.Provider>
    </GoogleOAuthProvider>
  )
}

"use client"
// import Form from "next/form "
import { useState, useEffect, useContext } from "react"
import Button from "../Components/Button"
import ProfileContext from "../layout"
export default function Contact() {
  const [name, setName] = useState()
  const [email, setEmail] = useState()
  const [message, setMessage] = useState()
  const [mobile, setMobile] = useState()
  const [service, setService] = useState()
  const [isSubmitted, setiSSubmitted] = useState(false)
  const [isLoading, setIsLoading] = useState(false)
  const value = useContext(ProfileContext)
  async function HandleSubmit(e) {
    setIsLoading(true)
    e.preventDefault()
    let body = {
      cred: process.env.NEXT_PUBLIC_CRED,
      email: email,
      mobile: mobile,
      when: new Date().toLocaleDateString(),
      message: message,
      name: name,
      service: service,
    }
    let res = await fetch("/api/contact", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify(body),
    }).then(function (response) {
      console.info(response)
      setIsLoading(false)
      setiSSubmitted(true)
    })
  }
  console.log(value)

Importing context in another component gives undefined. I don't need to switch to app router, any other solution you guys found ?

Reasons:
  • Blacklisted phrase (1): no luck
  • Long answer (-1):
  • Has code block (-0.5):
  • Me too answer (2.5): I have same issue
  • Ends in question mark (2):
  • Low reputation (1):
Posted by: AKSHAY BHOPANI

79460595

Date: 2025-02-23 02:23:45
Score: 4
Natty:
Report link

I got it :) I just had to remove the fixed width and ONLY have a max-width and min-width

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: kurtis

79460532

Date: 2025-02-23 01:06:30
Score: 6 🚩
Natty: 4.5
Report link

how do I set home-brew thing I know nothing about terminal and what is ~/.bashrc or ~/.zshrc help pls

Reasons:
  • Blacklisted phrase (1): how do I
  • Blacklisted phrase (2): help pls
  • Low length (1):
  • No code block (0.5):
  • Starts with a question (0.5): how do I
  • Low reputation (1):
Posted by: sire clark

79460528

Date: 2025-02-23 01:05:29
Score: 6 🚩
Natty: 6
Report link

Error 4003: Media Codec VideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.64001F, 1284070, null, [1280, 720, 25.0, ColorInfo (Unset color space, Unset color range, Unset color transfer, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES???

Reasons:
  • Blacklisted phrase (1): ???
  • Low length (0.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Unregistered user (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: user29759685

79460526

Date: 2025-02-23 01:03:28
Score: 5.5
Natty: 6.5
Report link

can you please provide the solution for attachment of pkcs7 signature for multiple signature appearances so,that the same signature appearance appears on all pages in a customized location.

Reasons:
  • RegEx Blacklisted phrase (2.5): can you please provide the solution
  • Low length (0.5):
  • No code block (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): can you please
  • Low reputation (1):
Posted by: Om Prakash Singh

79460516

Date: 2025-02-23 00:52:26
Score: 4.5
Natty: 5
Report link

Got it working :-), Just follow the instructions here: https://blog.greggant.com/posts/2024/02/19/how-to-play-blu-rays-on-mac-vlc.html#:~:text=For%20Apple%20Silicon%20Macs%2C%20you,%2Fhomebrew%2Fcellar%2Flibaacs%20.

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: chaz choy

79460462

Date: 2025-02-22 23:33:12
Score: 4
Natty: 4
Report link

wow thats so sigma i cnat imagene so cool

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Unregistered user (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: ligma

79460402

Date: 2025-02-22 22:33:00
Score: 8.5 🚩
Natty: 5.5
Report link

i have same problem but i want read documentation that mentioned by @Thomas Potaire page not found

Reasons:
  • Blacklisted phrase (1): i have same problem
  • RegEx Blacklisted phrase (1): i want
  • Low length (1):
  • No code block (0.5):
  • Me too answer (2.5): i have same problem
  • User mentioned (1): @Thomas
  • Single line (0.5):
  • Low reputation (1):
Posted by: Marouane Sadoune

79460394

Date: 2025-02-22 22:21:57
Score: 5.5
Natty: 6
Report link

Can user create private dashboard? Is there any way to achieve it.

Reasons:
  • Blacklisted phrase (1): Is there any
  • Low length (1.5):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): Can u
  • Low reputation (1):
Posted by: Yash Nigam

79460333

Date: 2025-02-22 21:22:44
Score: 6.5 🚩
Natty: 5
Report link

Is there a way to ensure that each user can only see their own dashboard while making certain dashboards accessible to all users?

Reasons:
  • Blacklisted phrase (1): Is there a way
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Starts with a question (0.5): Is there a
  • Low reputation (1):
Posted by: Yash Nigam

79460288

Date: 2025-02-22 20:52:38
Score: 12.5
Natty: 7.5
Report link

Can you help me out? I'm facing a similar issue and I'd like help

Reasons:
  • Blacklisted phrase (1): help me
  • RegEx Blacklisted phrase (3): Can you help me
  • RegEx Blacklisted phrase (2): help me out
  • Low length (1.5):
  • No code block (0.5):
  • Me too answer (2.5): I'm facing a similar issue
  • Contains question mark (0.5):
  • Starts with a question (0.5): Can you help me
  • Low reputation (1):
Posted by: the9titans

79460277

Date: 2025-02-22 20:45:36
Score: 5
Natty:
Report link

check the link on how to use it for Raspberry Pi:

sudo apt-get install chromium-chromedriver

Link: How to run selenium+chrome on Raspberry PI 4?

Reasons:
  • RegEx Blacklisted phrase (1): check the link
  • Probably link only (1):
  • Low length (1):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • Low reputation (0.5):
Posted by: Mavic More

79460263

Date: 2025-02-22 20:38:33
Score: 4.5
Natty: 7
Report link

4fr9ui9wt0reu84tev098u04tv3c8u403vu89tcm03v894rum ?EWYDQHYEQDEHDHWQED? NAH BRUH áúíé

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Unregistered user (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: éíééwret98uvrct09uyv06rc89-t0t

79460233

Date: 2025-02-22 20:18:29
Score: 6
Natty: 7.5
Report link

Hi My issue is that when I make a default credit card in Azure subscription, it also change my default cc in M365 subscription.

I want both M365 and Azure subscription, default cc different but thats not happening.

All cc in M365 subs shows up in Azure and vice versa Also default credit card in M365 get forced changed in Azure and vice versa.

How do I keep them separate ??

Reasons:
  • Blacklisted phrase (1): How do I
  • RegEx Blacklisted phrase (1): I want
  • No code block (0.5):
  • Ends in question mark (2):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: Nick Brights

79460210

Date: 2025-02-22 20:04:25
Score: 6 🚩
Natty:
Report link

It was caused due to Google Analytics Service after turning off Google Analytics Service , the crashes have gone down.

Wanted to know if there were any changes done from Google End which could have caused this?

Folks if you have any idea on this kindly help here.

Reasons:
  • Blacklisted phrase (3): kindly help
  • Low length (0.5):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Kunal Sen

79460202

Date: 2025-02-22 19:58:23
Score: 5
Natty: 6
Report link

Can I use an ObservableAsPropertyHelper as a 'CanExecute' definition for a command? Say, my first command returns a result asynchronously and I created an OAPH for it, can I somehow use it for my second command to define its 'canExecute' property? Or it is not meant to work this way?

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Starts with a question (0.5): Can I use an
  • Low reputation (1):
Posted by: Dmitry Kurkin

79460109

Date: 2025-02-22 18:43:07
Score: 9 🚩
Natty:
Report link

i'm facing the same problem but none of the above solved my problem...:(

[2025-02-22T18:29:48.403Z] A host error has occurred during startup operation '2eff64a0-b359-424b-8cfc-2eff64a0'.
[2025-02-22T18:29:48.407Z] Microsoft.Azure.WebJobs.Script: WorkerConfig for runtime: python not found.
[2025-02-22T18:29:48.416Z] Failed to stop host instance '12795099-41af-4d0e-9582-2795099'.
Value cannot be null. (Parameter 'provider')[2025-02-22T18:29:48.430Z] Microsoft.Azure.WebJobs.Host: The host has not yet started.

while i have this config;

local.settings.json

    {
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
  }
}

host.json:

    {
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

settings.json:

  {
    "azureFunctions.deploySubpath": ".",
    "azureFunctions.scmDoBuildDuringDeployment": true,
    "azureFunctions.pythonVenv": ".venv",
    "azureFunctions.projectLanguage": "Python",
    "azureFunctions.projectRuntime": "~4",
    "debug.internalConsoleOptions": "neverOpen",
    "azureFunctions.projectLanguageModel": 2
}

while

and pyenv.cfg

home = C:\uname\AppData\Local\Programs\Python\Python311
include-system-site-packages = false
version = 3.11.0
executable = C:\uname\AppData\Local\Programs\Python\Python311\python.exe
command = C:\uname\AppData\Local\Programs\Python\Python311\python.exe -m venv C:\uname\AppData\Local\Programs\Python\Python311\.venv

i've uninstall azure-functions-core-tools@4, reinstalled, restart the pc..etc nothing worked.

Ps: i've installed the azure function on zip and added it to my path..

can someone suggest me something to do? thanks

Reasons:
  • Blacklisted phrase (0.5): thanks
  • Blacklisted phrase (1): m facing the same problem
  • RegEx Blacklisted phrase (2.5): can someone suggest me some
  • Long answer (-1):
  • Has code block (-0.5):
  • Me too answer (2.5): i'm facing the same problem
  • Ends in question mark (2):
  • Looks like a comment (1):
  • Low reputation (1):
Posted by: Exilia

79460042

Date: 2025-02-22 18:02:57
Score: 4
Natty: 4
Report link

did someone able to fix or at least figured-out the issue on this ? I am facing of this crash as well on my android app but there is no crashes in iOS. It's expo project.

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): did someone
  • Low reputation (1):
Posted by: Robert John Matias Alkuino

79460010

Date: 2025-02-22 17:41:52
Score: 4
Natty:
Report link

I have Made a flutter SDK for anyone trying to implement it now check it out. https://pub.dev/packages/ntt_atom_flutter/

Reasons:
  • Blacklisted phrase (0.5): check it out
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: Gautam Tikha

79459986

Date: 2025-02-22 17:19:47
Score: 4
Natty:
Report link

Below code also not working for me.

.authorizeHttpRequests(authorizeRequests -> authorizeRequests .requestMatchers("/api/createUser/**").hasRole("ADMIN") .requestMatchers("/api/login/**").hasRole("USER") .requestMatchers("/api/**").authenticated()

Reasons:
  • RegEx Blacklisted phrase (3): not working for me
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: user2164839

79459949

Date: 2025-02-22 16:50:41
Score: 4.5
Natty:
Report link

The permission issue was resolved after authenticating through admin consent: https://login.microsoftonline.com/{tenantid}/adminconsent?client_id={client_id}

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Harish Verma

79459895

Date: 2025-02-22 16:13:33
Score: 7.5 🚩
Natty:
Report link

@Manish Kumar Thanks sir,So, should I store the JWT token in a cookie and then request the token from the cookie whenever I need to check permissions using various variables? Then, extract variables like user.role and userID from the token?

Right now, my website is trying to reduce API calls. When a user logs in for the first time, I store all the important variables, including the token, in localStorage. If I were to switch to using cookies instead, how should I implement the other variables correctly according to best practices?

Reasons:
  • Blacklisted phrase (0.5): Thanks
  • Blacklisted phrase (0.5): I need
  • Blacklisted phrase (1): how should I
  • Long answer (-0.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • User mentioned (1): @Manish
  • Self-answer (0.5):
  • Looks like a comment (1):
  • Low reputation (1):
Posted by: Nattadon Supachoksirirat

79459807

Date: 2025-02-22 15:11:19
Score: 4
Natty: 2.5
Report link

السلام عليكم ورحمة الله وبركاته 😔🙏😔🙏😔 أخي الكريم داخلة على الله ثم عليك أسألك بالله لا تتكبر علينا وتطنش رسالتي مثل البقية 🙏 شهر رمضان المبارك أقبل والكل يستقبلونه بالفرح والسرور وكل الناس مستبشرين بقدومه ويستقبلونه بكل متطلباته وكل ما يحتاجونه من متطلباته يشترون من أشهى المأكولات وألذ المشروبات والفواكة والخضروات والتمر والبن والقهوة والعصير وكل ما تشتهيه أنفسهم😔 ونحن أخواتك اليتيمات نستقبل رمضان بالعبرات والدموع والقهر والألم والحزن حين نتذكر المرحوم والدنا يوم كان موجود معانا ويعولنا ويقدم لنا ما نحتاجه من مأكل ومشرب وملبس وغير ذلك من متطلبات الحياة واليوم بعد وفاته ها هو رمضان على الأبواب ونحن لا نملك شي 😭😔😥 كم شكينا وكم بكينا ولكن للأسف لا حياة لمن تنادي حتى في هذي الإيام المباركة

إذا تستطيع مساعدتنا هذا رقمنا واتساب وإتصال تواصل معانا نرسلك البيانات كاملة +967713411540

00967713411540 👇👇👇👇👇😔😥 أسألك بالله ياأخي أقرأ رسالتي وأفهمها من البداية ولا تردني خائبة ذليلة

Reasons:
  • Blacklisted phrase (0.5): 🙏
  • Long answer (-0.5):
  • No code block (0.5):
  • No latin characters (2.5):
  • Low reputation (1):
Posted by: عبدالله المصابي

79459716

Date: 2025-02-22 14:00:04
Score: 7 🚩
Natty:
Report link

Can you post the query that is build by hibernate when you are trying to fetch data? I think it will be easier to recognize the issue. Thanks

Reasons:
  • Blacklisted phrase (0.5): Thanks
  • RegEx Blacklisted phrase (2.5): Can you post
  • Low length (1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): Can you post the
  • Low reputation (1):
Posted by: Doubt

79459597

Date: 2025-02-22 12:31:46
Score: 4
Natty:
Report link

pw.var.get(key)

pw.var.set(key, value)

Reasons:
  • Low length (2):
  • No code block (0.5):
  • Has no white space (0.5):
  • Low reputation (1):
Posted by: erinus

79459596

Date: 2025-02-22 12:31:45
Score: 4
Natty:
Report link

https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/productVariantsBulkCreate

You should try productVariantsBulkCreate to create multiple variants

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: bilal tariq

79459591

Date: 2025-02-22 12:24:44
Score: 9 🚩
Natty:
Report link

I am having a similar challenge with data not reflecting on the snowflake side for a external table although there is data within the source file. Did you manage to fix your issue?

Reasons:
  • RegEx Blacklisted phrase (3): Did you manage to fix your
  • RegEx Blacklisted phrase (1.5): fix your issue?
  • Low length (0.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: s. saii charon

79459507

Date: 2025-02-22 11:10:28
Score: 10.5 🚩
Natty: 6.5
Report link

Still today we have same issues. Any solutions so far?

Reasons:
  • Blacklisted phrase (1.5): Any solution
  • RegEx Blacklisted phrase (2): Any solutions so far?
  • Low length (1.5):
  • No code block (0.5):
  • Me too answer (2.5): have same issue
  • Ends in question mark (2):
  • Single line (0.5):
Posted by: HGMamaci

79459466

Date: 2025-02-22 10:53:24
Score: 4
Natty:
Report link

Thanks @michael-petch

The issue was likely CX for retries and AX for ES. Using SI for retries kept CX free, and BX for ES avoided overwrites. These tweaks fixed the bootloader!

enter image description here

Reasons:
  • Blacklisted phrase (0.5): Thanks
  • Probably link only (1):
  • Low length (1):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Sunil KhoRwal

79459450

Date: 2025-02-22 10:41:22
Score: 4
Natty: 4
Report link

I Thank you vert much for this answer @hdump though I didn't ask the question :) It helped me a bit in my struggle in makeing my site :)

Thank you!

Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Low length (1):
  • No code block (0.5):
  • User mentioned (1): @hdump
  • Low reputation (1):
Posted by: Jonas Hansson

79459373

Date: 2025-02-22 09:54:12
Score: 4
Natty:
Report link

for anyone having same problem in 2025 my solution based on Aerials code

Reasons:
  • Blacklisted phrase (1): did not work
  • Long answer (-1):
  • No code block (0.5):
  • Me too answer (2.5): having same problem
  • Low reputation (1):
Posted by: Szymon Lewandowski

79459296

Date: 2025-02-22 09:03:02
Score: 5
Natty:
Report link

Is this soft assertion feature available in Karate 1.5.1? I couldn't find reference in karate documentation.

Is it possible to declare as global in the katrate-config intead decalring in the feature file? Can we use this only for match cases?

'* configure continueOnStepFailure = { enabled: true, continueAfter: false, keywords: ['match'] } karate.configure('continueOnStepFailure': { enabled: true, continueAfter: false, keywords: ['match'] })

How to do softassertion with karate?

Reasons:
  • Blacklisted phrase (1): Is it possible to
  • No code block (0.5):
  • Ends in question mark (2):
  • Starts with a question (0.5): Is this
  • Low reputation (1):
Posted by: Ravikiran Pedapati

79459228

Date: 2025-02-22 07:47:49
Score: 4
Natty: 4.5
Report link

disabledExtensions ? Why can't I find it in the official documents

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: lius

79459216

Date: 2025-02-22 07:32:45
Score: 4
Natty: 5
Report link

Well Done My same issue is resolved now. Thanks for sport

Reasons:
  • Blacklisted phrase (0.5): Thanks
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Parveen Kumar

79459208

Date: 2025-02-22 07:27:44
Score: 4
Natty:
Report link

is the docstring on the very first line and in triple doubles? I have had that problem before

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): is the
  • Low reputation (1):
Posted by: Chris Parks

79459177

Date: 2025-02-22 07:00:39
Score: 6.5
Natty: 7.5
Report link

But how do I convert them so that I get lat and lon in the dimension names?

Reasons:
  • Blacklisted phrase (1): how do I
  • Low length (1.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Rehan Hossain

79459164

Date: 2025-02-22 06:32:33
Score: 5
Natty:
Report link

I have to downgrade the docker to 27.5.1 to solve the issue:

https://forums.docker.com/t/docker-28-no-outgoing-network-on-ubuntu-22-with-plesk/146772/7

Reasons:
  • Blacklisted phrase (1): I have to do
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: S_P

79459163

Date: 2025-02-22 06:32:32
Score: 6 🚩
Natty:
Report link

With @dROOOze's suggestion, I rewrote the code like this

from typing import TypedDict, Unpack, Required, NotRequired


class WidgetArgs(TypedDict):
    width:int|None
    height:int|None
    minWidth:int|None
    minHeight:int|None
    maxWidth:int|None
    maxHeight:int|None
    stretchFactor:int
    align:str|None
    color:str|None
    bgColor:str|None
    border:str|None
    fontSize:int|None
    fontWeight:str|None
    fontFamily:str|None
    padding:str|None
    hExpanding:bool
    vExpanding:bool
    name:str|None
    styleSheet:str

def popStyleArgs(kwargs:dict):
    retDict = {}
    for name in WidgetArgs.__required_keys__:
        val = kwargs.pop(name,None)
        if val:
            retDict[name] = val
    return retDict


class Label(QLabel):
    def __init__(self, *args, 
        labelImg:str|None=None,      
        **kwargs: Unpack[WidgetArgs]):
        
        styleArgs = popStyleArgs(kwargs)
        super().__init__(*args, **kwargs)
        ss(self, **styleArgs)

        if labelImg is not None:
            self.setPixmap(QtGui.QPixmap(labelImg))



class Button(QPushButton):
    def __init__(self, *args, 
        onClick:Callable|None=None,     
        **kwargs: Unpack[WidgetArgs]):
        
        styleArgs = popStyleArgs(kwargs)
        super().__init__(*args, **kwargs)
        ss(self, **styleArgs)

        self.clicked.connect(onClick)

It works well.


And in VSCode, I could get auto-complete suggestion like this, which is great.

enter image description here

When mouse hovers on the type, it will show definition like this, it's ok.

enter image description here


In Pycharm, even better, when hovering, it will show the referenced unpack types, like this

enter image description here


The only pitty is, I have to copy the document str of args to every widget's initial functions. The document still could not be shared. Any suggestions?

Reasons:
  • RegEx Blacklisted phrase (2): Any suggestions?
  • Probably link only (1):
  • Long answer (-1):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • User mentioned (1): @dROOOze's
  • Self-answer (0.5):
  • Looks like a comment (1):
Posted by: Jcyrss

79459143

Date: 2025-02-22 06:06:27
Score: 4
Natty: 5
Report link

Take a look at the Financial Options Calculator https://github.com/AnthonyBradford/optionmatrix

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: anthony_bradfordyahoocom

79459102

Date: 2025-02-22 04:56:15
Score: 5
Natty: 6
Report link

Below link work well for me thank you https://github.com/material-components/material-components-android/issues/911#issuecomment-2003834024

Reasons:
  • Blacklisted phrase (0.5): thank you
  • Probably link only (1):
  • Low length (2):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Gopal Reddy

79459002

Date: 2025-02-22 02:58:54
Score: 5
Natty:
Report link

regardless of being the root user there, have you tried sudo mkdir -p /RandomDirectory?

Reasons:
  • Whitelisted phrase (-1): have you tried
  • Low length (1.5):
  • No code block (0.5):
  • Ends in question mark (2):
  • Unregistered user (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Jared

79458968

Date: 2025-02-22 02:05:45
Score: 4
Natty:
Report link

Based on your question, here’s what I understand:

  1. You have a main screen this screen has ButtomNavigationBar
  2. You want to navigate to a Widget not in the pages List of this BottomNavigationBar
  3. You want to navigate to this Widget using a component (lets say Button in the HomeScreen)
  4. You want the BottomNavigationBar to remain visible on this new widget (DetailsScreen).
  5. You want to show back the main screens (HomeScreen, CartScreen, ProfileScreen) from this widget.

=>This is a demo video for the provided solution : CustomNavigationBar_Flutter

If this is correct, I’ll provide this solution. Please Let me know if I misunderstood!

The solution I’m providing is not ideal but works for your use case. If you meant something else, please let me know!

Step 1: Define a Model for Each Screen

class MyScreensModel {
  final String? title;
  final Widget targetWidget;
  final IconData icon;

  const MyScreensModel({
    required this.icon,
    required this.targetWidget,
    this.title,
  });
}

You can define the properties you want in this Model (It is up to you)

Step 2: Build the Pages Screens

define the screens you want to display. Lets say:

it is a HomeScreen(), CartScreen(), ProfileScreen() and DetailsScreen() do not worry about ChangeNotifierProvider

const TextStyle style = TextStyle(
  fontSize: 20,
  fontWeight: FontWeight.bold,
);

class CartScreen extends StatelessWidget {
  const CartScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text(
      "Cart Screen Content",
      style: style,
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text(
      "Home Screen Content",
      style: style,
    );
  }
}

class ProfileScreen extends StatelessWidget {
  const ProfileScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text(
      "Profile Screen Content",
      style: style,
    );
  }
}



class DetailsScreen extends StatelessWidget {
  const DetailsScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) => CurrentScreenProvider(),
      child: const Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          FlutterLogo(
            size: 200,
          ),
          Text(
            "Details Screen Content",
            style: style,
          ),
        ],
      ),
    );
  }
}

Step 3: Store Screens in a List

Then Store it in List<MyScreensModel> and add the data you want

List<MyScreensModel> navigationScreens = const <MyScreensModel>[
  MyScreensModel(
    icon: Icons.home,
    targetWidget: HomeScreen(),
    title: "Home",
  ),
  MyScreensModel(
    icon: Icons.shopping_bag,
    targetWidget: CartScreen(),
    title: "Cart",
  ),
  MyScreensModel(
    icon: Icons.person,
    targetWidget: ProfileScreen(),
    title: "Profile",
  ),
  MyScreensModel(
    icon: Icons.info,
    targetWidget: DetailsScreen(),
  ),
];

Step 4: Use Provider for StateManagement

In this step we will need a very powerful package for managing this CustomNavigationBar provider

we will create a Provider to trigger the index of current screen and change this value when the user tap the Item

class CurrentScreenProvider with ChangeNotifier {
  int _currentScreen = 0;

  int get currentScreen => _currentScreen;

  // To control the BottomNavigationBar Items
  void selectScreen({
    required int newScreen,
  }) {
    _currentScreen = newScreen;
    notifyListeners();
  }

 // To control the DetailsScreen
 void get selectDetialsScreen {
    _currentScreen = 3;
    notifyListeners();
  }


  bool get isDetails => currentScreen == 3;
}

the bool isDetails for check if we in the DetailsScreen() or not

Step 5: Create the Custom Bottom Navigation Bar

After that we will create our CustomBottomNavigationBar() Widget

class CustomNavBar extends StatelessWidget {
  const CustomNavBar({
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return Consumer<CurrentScreenProvider>(
      builder: (context, screen, _) {
        return Container(
          height: MediaQuery.sizeOf(context).height * .09,
          decoration: const BoxDecoration(
            borderRadius: BorderRadius.vertical(
              top: Radius.circular(15),
            ),
            color: Color(0xFFECFFE6),
          ),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: List.generate(
              navigationScreens.length - 1,
              (int index) {
                return CustomNavbarItemWidget(
                  isSelected: index == screen.currentScreen,
                  targetScreen: navigationScreens[index],
                  onNavTap: () {
                    // Tapping on the Item will update the value of the currentScreen
                    screen.selectScreen(newScreen: index);
                  },
                );
              },
            ),
          ),
        );
      },
    );
  }
}

As you can see we will create a BottomNavigationBar as Row inside a Container you can consider the decoration of the Container as navbr decoration

Step 6: Create the Bottom Navigation Bar Item

class CustomNavbarItemWidget extends StatelessWidget {
  const CustomNavbarItemWidget({
    super.key,
    required this.isSelected,
    required this.targetScreen,
    required this.onNavTap,
  });

  final bool isSelected;
  final MyScreensModel targetScreen;

  final void Function() onNavTap;

  @override
  Widget build(BuildContext context) {
    return Container(
      width: MediaQuery.sizeOf(context).width * .16,
      margin: const EdgeInsets.all(5.0),
      decoration: BoxDecoration(
        color: isSelected ? Color(0xFFC7FFD8) : null,
        borderRadius: BorderRadius.circular(10),
      ),
      child: Material(
        color: Colors.transparent,
        child: InkWell(
          borderRadius: BorderRadius.circular(10),
          onTap: onNavTap,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Icon(targetScreen.icon),
              if (isSelected) ...{
                Text(
                  targetScreen.title!,
                  style: const TextStyle(
                    fontWeight: FontWeight.bold,
                  ),
                ),
              }
            ],
          ),
        ),
      ),
    );
  }
}

As you can see you can control the decoration of the selected item using isSelected bool

And the next widget will be the mainScreen that has the pages Screen

I will consider that you will show the DetailsScreen() using the floatingActionButton

class MyScreen extends StatelessWidget {
  const MyScreen({super.key});

  Widget _targetWidget({
    required BuildContext context,
  }) {
    final CurrentScreenProvider screen = Provider.of<CurrentScreenProvider>(
      context,
      listen: false,
    );
    int currentScreen = screen.currentScreen;
    switch (currentScreen) {
      case 0:
        {
          return const HomeScreen();
        }
      case 1:
        {
          return const CartScreen();
        }
      case 2:
        {
          return const ProfileScreen();
        }
      case 3:
        {
          return const DetailsScreen();
        }
      default:
        {
          return const HomeScreen();
        }
    }
  }

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) {
        return CurrentScreenProvider();
      },
      child: Consumer<CurrentScreenProvider>(
        builder: (context, screen, _) {
          return MaterialApp(
            debugShowCheckedModeBanner: false,
            home: Scaffold(
              appBar: AppBar(
                automaticallyImplyLeading: false,
                centerTitle: true,
                backgroundColor: screen.isDetails ? Colors.cyan : Colors.green,
                title: Text(
                  screen.isDetails
                      ? "DetailsScreen AppBar Title"
                      : "MainScreen AppBar Title",
                  style: const TextStyle(
                    fontWeight: FontWeight.bold,
                  ),
                ),
              ),
              body: Center(
                child: _targetWidget(context: context),
              ),
              bottomNavigationBar: const CustomNavBar(),
              floatingActionButton: screen.isDetails
                  ? null
                  : FloatingActionButton(
                      child: const Icon(Icons.info),
                      onPressed: () {
                        screen.selectDetialsScreen;
                      },
                    ),
            ),
          );
        },
      ),
    );
  }
}

As you can see that the _targetWidget is show the content according to the currentScreen from the CurrentScreenProvider

Full Code :

class MyScreensModel {
  final String? title;
  final Widget targetWidget;
  final IconData icon;

  const MyScreensModel({
    required this.icon,
    required this.targetWidget,
    this.title,
  });
}

class CartScreen extends StatelessWidget {
  const CartScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text(
      "Cart Screen Content",
      style: style,
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text(
      "Home Screen Content",
      style: style,
    );
  }
}

class ProfileScreen extends StatelessWidget {
  const ProfileScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text(
      "Profile Screen Content",
      style: style,
    );
  }
}

class DetailsScreen extends StatelessWidget {
  const DetailsScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) => CurrentScreenProvider(),
      child: const Text(
        "Details Screen Content",
        style: style,
      ),
    );
  }
}

const TextStyle style = TextStyle(
  fontSize: 20,
  fontWeight: FontWeight.bold,
);

List<MyScreensModel> navigationScreens = const <MyScreensModel>[
  MyScreensModel(
    icon: Icons.home,
    targetWidget: HomeScreen(),
    title: "Home",
  ),
  MyScreensModel(
    icon: Icons.shopping_bag,
    targetWidget: CartScreen(),
    title: "Cart",
  ),
  MyScreensModel(
    icon: Icons.person,
    targetWidget: ProfileScreen(),
    title: "Profile",
  ),
  MyScreensModel(
    icon: Icons.info,
    targetWidget: DetailsScreen(),
  ),
];

class CurrentScreenProvider with ChangeNotifier {
  int _currentScreen = 0;

  int get currentScreen => _currentScreen;

  // To control the BottomNavigationBar Items

  void selectScreen({
    required int newScreen,
  }) {
    _currentScreen = newScreen;
    notifyListeners();
  }

  // To control the DetailsScreen

  void get selectDetialsScreen {
    _currentScreen = 3;
    notifyListeners();
  }

  bool get isDetails => currentScreen == 3;
}

class MyScreen extends StatelessWidget {
  const MyScreen({super.key});

  Widget _targetWidget({
    required BuildContext context,
  }) {
    final CurrentScreenProvider screen = Provider.of<CurrentScreenProvider>(
      context,
      listen: false,
    );
    int currentScreen = screen.currentScreen;
    switch (currentScreen) {
      case 0:
        {
          return const HomeScreen();
        }
      case 1:
        {
          return const CartScreen();
        }
      case 2:
        {
          return const ProfileScreen();
        }
      case 3:
        {
          return const DetailsScreen();
        }
      default:
        {
          return const HomeScreen();
        }
    }
  }

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) {
        return CurrentScreenProvider();
      },
      child: Consumer<CurrentScreenProvider>(
        builder: (context, screen, _) {
          return MaterialApp(
            debugShowCheckedModeBanner: false,
            home: Scaffold(
              appBar: AppBar(
                automaticallyImplyLeading: false,
                centerTitle: true,
                backgroundColor: Colors.green,
                title: const Text(
                  "Custom Navigation Bar",
                  style: TextStyle(
                    fontWeight: FontWeight.bold,
                  ),
                ),
              ),
              body: Center(
                child: _targetWidget(context: context),
              ),
              bottomNavigationBar: const CustomNavBar(),
              floatingActionButton: screen.isDetails
                  ? null
                  : FloatingActionButton(
                      child: const Icon(Icons.info),
                      onPressed: () {
                        screen.selectDetialsScreen;
                      },
                    ),
            ),
          );
        },
      ),
    );
  }
}

class CustomNavBar extends StatelessWidget {
  const CustomNavBar({
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return Consumer<CurrentScreenProvider>(
      builder: (context, screen, _) {
        return Container(
          height: MediaQuery.sizeOf(context).height * .09,
          decoration: const BoxDecoration(
            borderRadius: BorderRadius.vertical(
              top: Radius.circular(15),
            ),
            color: Color(0xFFECFFE6),
          ),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: List.generate(
              navigationScreens.length - 1,
              (int index) {
                return CustomNavbarItemWidget(
                  isSelected: index == screen.currentScreen,
                  targetScreen: navigationScreens[index],
                  onNavTap: () {
                    // When the user tap on the Item it will update the value of the currentScreen
                    screen.selectScreen(newScreen: index);
                  },
                );
              },
            ),
          ),
        );
      },
    );
  }
}

class CustomNavbarItemWidget extends StatelessWidget {
  const CustomNavbarItemWidget({
    super.key,
    required this.isSelected,
    required this.targetScreen,
    required this.onNavTap,
  });

  final bool isSelected;
  final MyScreensModel targetScreen;

  final void Function() onNavTap;

  @override
  Widget build(BuildContext context) {
    return Container(
      width: MediaQuery.sizeOf(context).width * .16,
      margin: const EdgeInsets.all(5.0),
      decoration: BoxDecoration(
        color: isSelected ? Colors.cyan.withOpacity(0.2) : null,
        borderRadius: BorderRadius.circular(10),
      ),
      child: Material(
        color: Colors.transparent,
        child: InkWell(
          borderRadius: BorderRadius.circular(10),
          onTap: onNavTap,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Icon(targetScreen.icon),
              if (isSelected) ...{
                Text(
                  targetScreen.title!,
                  style: const TextStyle(
                    fontWeight: FontWeight.bold,
                  ),
                ),
              }
            ],
          ),
        ),
      ),
    );
  }
}
Reasons:
  • RegEx Blacklisted phrase (2.5): Please Let me know
  • RegEx Blacklisted phrase (2.5): please let me know
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: Mahmoud Al-shehyby

79458960

Date: 2025-02-22 01:56:44
Score: 4
Natty:
Report link

The Encodian connectors can help. Possible options:

QR Code - Read from Image

Barcode - Read from Image

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Alex R

79458957

Date: 2025-02-22 01:52:43
Score: 4.5
Natty:
Report link

The issue has been solved after following the steps provided by Mr.Balusc.

@balusc. Thank you for the quick support.

Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Low length (1):
  • No code block (0.5):
  • User mentioned (1): @balusc
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Ram

79458852

Date: 2025-02-21 23:46:21
Score: 4
Natty:
Report link

Problem was solved doing one of two things:

  1. adding the extention '.kts' to build.gradle and updating all code to kotlin.

OR

  1. Updating all code from build.gradle to Groovy.

Now, I have another problem: "Cannot recover the key". But it is a topic to another question. Thank you all of you that helped me.

Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Blacklisted phrase (1): another question
  • Low length (0.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Alex Cunha